select * from table1 where myid in(1,2,3)这个可行。现在有一个存储过程需要调用这个语句,myprodure(name vachar2,idlist varchar2),我调用该存储过程时候该怎样传这个idlist参数呢?
因为这样很明显是不行的:
exec myprocedure('myname','1,2,3');
我的myid字段是number的序列,有什么简单的办法调用这个存储过程么?
因为这样很明显是不行的:
exec myprocedure('myname','1,2,3');
我的myid字段是number的序列,有什么简单的办法调用这个存储过程么?
不知道你具体的需求,根据我的理解
exec myprocdure('myname','56,35,725')
2 TSQL VARCHAR(100);
3 begin
4 TSQL:='SELECT * FROM TABLE1 WHERE MYID IN (' || idlist || ')';
5 execute immediate TSQL;
6 end;
7 /过程已创建。SQL> exec myprocdure('myname','56,35,725');PL/SQL 过程已成功完成。SQL>