【发布时间】:2021-11-25 20:07:28
【问题描述】:
代码已简化。我有一个类型:
CREATE TYPE str_tab_t IS TABLE OF VARCHAR2(20);
这里有一个函数:
FUNCTION MYFUNCTION(myVar IN str_tab_t ) RETURN VARCHAR
myVar2 NUMBER;
BEGIN
SELECT MYCOLUMN INTO myVar2 FROM MYTABLE WHERE MYCOLUMN IN(SELECT * FROM myVar );
RETURN myVar2 ;
END MYFUNCTION;
我想知道是否可以这样调用函数:
MYFUNCTION(str_tab_t ('abc'));
当我收到错误 ORA-01722 时。我不认为这是因为查询错误。我想,我以错误的方式传递论点。有人可以给我任何线索吗?谢谢!
【问题讨论】:
-
试试
WHERE MYCOLUMN MEMBER OF myVar或WHERE MYCOLUMN IN ( SELECT * FROM TABLE(myVar) )