Sql 将Oracle函数的结果作为子查询传递

Sql 将Oracle函数的结果作为子查询传递,sql,oracle,function,Sql,Oracle,Function,我希望运行一个查询,当我运行以下命令时,可以返回结果: select * from table where table_id in (select function_name(123) from dual); function_name(123)是一个函数,我将一个值传递给它,它将值输出回一个表(结果通常是几百条记录) 运行select语句时,出现以下错误: ORA-00932:不一致的数据类型:预期数量获取类型\u ID\u表 我不知道为什么?函数返回的结果包含所有数字值?在Oracle中调

我希望运行一个查询,当我运行以下命令时,可以返回结果:

select * from table where table_id in (select function_name(123) from dual);
function_name(123)是一个函数,我将一个值传递给它,它将值输出回一个表(结果通常是几百条记录)

运行select语句时,出现以下错误:

ORA-00932:不一致的数据类型:预期数量获取类型\u ID\u表


我不知道为什么?函数返回的结果包含所有数字值?

在Oracle中调用表值函数的正确方法如下:

select *
from table
where table_id in (select * from table(function_name(123));