2 yangyanyanyanyan YANGYANYANYANYAN 于 2013.12.01 12:17 提问

oracle 自定义函数返回一个自定义整数列,如何在下一个自定义函数中,调用上一个函数

---自定义类型
create or replace type t_int is table of integer

-- Create table
create table TESTFUNCTION
(
oid INTEGER,
result INTEGER
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255;

-- Create table no.1
create or replace function FindAllChildGroup1 (mid int)
Return T_INT--dtable table(ID int)
As
dtable T_INT;
Begin
select T_INT(a.result) into dtable from testfunction a where a.oid!=mid ;

return (dtable);
END FindAllChildGroup1;

-- Create table no.2
create or replace function FindAllChildDoc (pid IN OUT int)
Return T_INT--- dtable table(ID int)
As
dtable T_INT;
dtable_ T_INT;
Begin
dtable_:= FindAllChildProject (pid);
select T_INT(a.o_itemno) into dtable from
(
select o_itemno from CDMS_Doc
where o_projectno in (select * from dtable_)

         ) a ;

return (dtable);
End FindAllChildDoc;

现在的问题在 ‘ where o_projectno in (select * from dtable_)’这句

错误:PL/SQL: ORA-00942: 表或视图不存在
行:11
文本:where o_projectno in (select * from dtable_)

错误:PL/SQL: SQL Statement ignored
行:8
文本:select T_INT(a.o_itemno) into dtable from

Csdn user default icon
上传中...
上传图片
插入图片