【发布时间】:2019-04-14 01:46:25
【问题描述】:
有没有办法将对象用作 UDF 的输入参数?正如我正在尝试的那样:
CREATE OR REPLACE TYPE fv_group as object(
fv NUMBER,
group_number INTEGER
);
/
CREATE OR REPLACE TYPE fv_group_array IS VARRAY(100) OF fv_group;
CREATE OR REPLACE PROCEDURE insert_groupby(FV NUMBER, fv_and_group IN OUT fv_group_array) IS
g fv_group;
BEGIN
IF fv < 15 THEN
g := fv_group(fv,1);
ELSE
g := fv_group(fv,2);
END IF;
fv_and_group.extend(1);
fv_and_group(fv_and_group.last) := g;
END;
/
declare
obj fv_group_array := fv_group_array();
begin
select insert_groupby(c.fv,obj)
from cophir c;
end;
/
当我执行上面的代码时,我得到了错误 PL/SQL:ORA-00904。
PS .. 表 cophi:
SQL> desc cophir
Nome Tipo
FV NUMBER(38)
ID NUMBER(38)
【问题讨论】:
-
cophir是如何定义的? -
将此信息添加到问题中。
标签: oracle stored-procedures plsql oracle12c