有关如何在SQLFiddle中获取PL/SQL的任何线索?
我试过了
begin
dbms_output.put_line('Hello World');
end;
/
Run Code Online (Sandbox Code Playgroud)
要么
begin
null;
end;
/
Run Code Online (Sandbox Code Playgroud)
它适用于SQL*Plus(或TOAD或SQLDeveloper或...),但SQLFiddle只是给了我
ORA-06550: line 2, column 36: PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: := . ( % ; : begin dbms_output.put_line('Hello World')
Run Code Online (Sandbox Code Playgroud)
所以似乎有某种PL/SQL引擎到位,但我无法弄清楚如何让它来解析匿名程序单元.
我有一个为大量区域定义的电话号码前缀列表(在由gvcode和cgi定义的查询中).我需要有效地找到与给定数字PHONE_NR匹配的最长前缀.
我在字段数字上使用倒置LIKE子句(其中包含格式为+ 48%,+ 49%,+ 1%,+ 1232%等的前缀).
因此我不能在该字段上使用普通索引.
我通过在gvcode和cgi字段上使用IOT(它们是主键的一部分(前两个cols))设法获得了实质性的改进.我还查看了一些oracle文本索引,但找不到匹配表中较长前缀的较长输入的索引.
有没有其他方法来执行比这种方法更快的搜索.
这是一个查询,它给出了所有匹配前缀的列表(我在数字长度后对其进行排序).
select t.gvcode, t.digits
from NUMBERS t
where
t.gvcode=ZONE_SET_CODE
and t.cgi=cgi_f
and ( PHONE_NR like t.digits)
order by length(digits) desc
Run Code Online (Sandbox Code Playgroud)