0

我正在执行以下操作:

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

从我读到的内容中,应该从这个存储过程中获取要显示的 out 参数。

它是这样声明的

procedure substring_matches( str in varchar2, validwords out charcollection)

为什么我在尝试执行此操作时会收到命令未正确结束的错误?

我不知道我应该如何从中选择,所以我可以测试我的结果

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

4

1 回答 1

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
于 2012-12-06T02:58:38.907 回答