我正在做以下事情:
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);
答案 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