【发布时间】:2019-04-26 01:58:14
【问题描述】:
我编写了一个 Oracle SQL 函数,它将以以下格式返回 EMP ID。
Query: select CUSFNC_GETEMPID('HIGH-RATED') from dual;
Output: ('1436','1444','1234')
我想在 SQL Query 中使用这个输出如下:
SELECT ID, NAME, SAL
FROM EMP
WHERE ID IN CUSFNC_GETEMPID('HIGH-RATED')
我希望此查询返回 ID 等于上述查询中提到的值的记录。
但它没有按预期工作。
如何通过修改函数的输出或其他方式来实现?
【问题讨论】:
-
SQL 不是这样工作的。您需要在动态 SQL 中执行此操作(即
execute immediate)。相反,您可以使用表值函数而不是返回字符串。 -
函数是如何定义的(输出类型)?
-
一个字符串变量
标签: sql oracle sql-function