如何在PL/SQL中执行select in查询

sqlink 2008-03-07 08:06:04
我需要在一个stored procedure里面执行如下的查询:
select * from table where brn_num in (vBrnNum)

vBrnNum是从外部传入的字符串
比如:vBrnNum:='1,3,9';

如何处理才能达到下列查询的效果:
select * from table where brn_num in (1,3,9);

谢谢
...全文
268 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiyousyc 2008-03-08
  • 打赏
  • 举报
回复
select * from table
where instr(','||to_char(vBrnNum)||',',','||brn_num||',')>0;
bzszp 2008-03-07
  • 打赏
  • 举报
回复
可以使用上面的动态执行sql的方式,也可以使用以下方法:

select * from table
where instr(','||vBrnNum||',',','||brn_num||',')>0;
ehsgs 2008-03-07
  • 打赏
  • 举报
回复
sqlstmt = 'select * from table where brn_nm in (' ¦ ¦vBrnNum ¦ ¦')';

execute immedaite sqlstmt;
Petergepeter 2008-03-07
  • 打赏
  • 举报
回复
前面要DECLARE的,
TYPE reference_cur IS REF CURSOR;
p_return_cur reference_cur;
Petergepeter 2008-03-07
  • 打赏
  • 举报
回复
like this:
OPEN p_return_cur FOR
'select * from table where brn_num in' || vBrnNum ;

bjt_ 2008-03-07
  • 打赏
  • 举报
回复
execute immedaite 'select * from table where brn_nm in ('||vBrnNum||')';

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧