我得到了逗号分隔的ID,我必须在Oracle存储过程中的where子句中传递它

我得到了逗号分隔的ID,我必须在Oracle存储过程中的where子句中传递它,oracle,Oracle,我正在进程执行中传递逗号分隔的字符串 create replace proc(trasactionID in varchar2, user_data out refcursor, succdata out varchar2, errodata out varchar2) begin open user_data for select name,id from table a where id in(trasactionID); end; / 您如何确定值列表?你知道你可以使用子查询,是吗?

我正在进程执行中传递逗号分隔的字符串

create replace proc(trasactionID in varchar2,
user_data out refcursor,
succdata out varchar2,
errodata out varchar2)

begin
open user_data for 
select name,id from table a where id in(trasactionID);
end;
/

您如何确定值列表?你知道你可以使用子查询,是吗?从表中选择blah,其中a在表中选择x在表中…我将从java接收逗号分隔的值,例如:proc'1,2,3,4,5,9',out_ref,out_such,out_error;由于值很大,所以我将第一个参数更改为blob。我们可以不使用表来实现这一点吗?从表a中选择名称,id,其中id inselect regexp_substrtransactionID,[^,]+',1,从dual connect逐层选择级别如果它是“巨大的”,您应该知道您的IN列表受到1000个值的限制,然后您必须使用子查询如何确定值列表?你知道你可以使用子查询,是吗?从表中选择blah,其中a在表中选择x在表中…我将从java接收逗号分隔的值,例如:proc'1,2,3,4,5,9',out_ref,out_such,out_error;由于值很大,所以我将第一个参数更改为blob。不使用表,我们能做到这一点吗?从表a中选择名称,id,其中id插入从dual connect逐层选择regexp_substrtransactionID,[^,]+',1,级别如果它是“巨大的”,您应该知道您的IN列表被1000个值限制,然后您必须使用子查询