Oracle Command未正确结束

时间:2012-12-06 02:54:28

标签: sql oracle plsql

我正在做以下事情:

SELECT * FROM word_utils.substring_matches('abac');

根据我的阅读内容,应该从该存储过程中获取out参数。

声明如此

procedure substring_matches( str in varchar2, validwords out charcollection)

当我尝试这样做时,为什么我收到Command错误未正确结束?

我无法弄清楚我应该如何从中进行选择以便我可以测试我的结果

charcollection被定义为类型charcollection is table of varchar(12);

1 个答案:

答案 0 :(得分:2)

您无法从程序中进行选择。试试PIPELINED函数。

10:59:12 SYSTEM@dwal> create type tt as table of number
10:59:15   2  /

Type created.

Elapsed: 00:00:00.01
10:59:16 SYSTEM@dwal> create or replace function f
10:59:23   2  return tt pipelined as
10:59:30   3  begin
10:59:31   4  for i in 1 .. 10 loop
10:59:35   5  pipe row (i);
10:59:42   6  end loop;
10:59:44   7  end f;
10:59:46   8  /

Function created.

Elapsed: 00:00:00.16
10:59:47 SYSTEM@dwal> select * from table(f);

COLUMN_VALUE
------------
           1
           2
           3
           4
           5
           6
           7
           8
           9
          10

10 rows selected.

Elapsed: 00:00:00.02