假设我有一个用户定义的表类型:
create or replace type SrcCodeTbl is table of varchar(20);
我有一个具有此类参数的过程:
create or replace procedure Blah.MyProc( srcCodesIN in SrcCodeTbl )
我可以在select / join语句中使用srcCodesIn
和过程中的另一个表吗?一直试图让它工作,编译器继续报告:
select distinct someVal into outVal
from OtherTable ot, srcCodesIn sc
where ot.ID = sc.column_val;
Error(28,22): PL/SQL: ORA-00942: table or view does not exist
我确信它的语法很简单,我只是无法弄明白。我确实得到了一些与for循环一起工作的东西,但我很感兴趣,如果还有另一种方法可以做到这一点。感谢。
答案 0 :(得分:2)
怎么样
SELECT DISTINCT someVal
INTO outVal
FROM OtherTable ot, TABLE(srcCodesIn) sc
WHERE ot.ID = sc.column_value