我写了一个包,在包里面我定义了一个varchar的变量 s_id,
select yijiid from mz_yiji1 where yijiid in s_id;
s_id= ('1026962305','1026962306','1026962307','1026962308','1026962304')
但是查询的时候查询不到内容
如果我把这个字符串select yijiid from mz_yiji1 where yijiid in ('1026962305','1026962306','1026962307','1026962308','1026962304'),查询有值。那位大神能告诉我为什么
select yijiid from mz_yiji1 where yijiid in s_id;
s_id= ('1026962305','1026962306','1026962307','1026962308','1026962304')
但是查询的时候查询不到内容
如果我把这个字符串select yijiid from mz_yiji1 where yijiid in ('1026962305','1026962306','1026962307','1026962308','1026962304'),查询有值。那位大神能告诉我为什么
另外可以试试动态语句:
s_id= ('1026962305','1026962306','1026962307','1026962308','1026962304') ;
v_sql := ‘ select yijiid from mz_yiji1 where yijiid in ’||s_id ;
execute immediate v_sql into xxx ;
s_id= ('1026962305','1026962306','1026962307','1026962308','1026962304')如果是多个值,必须写成这样的,加一个 any
s_id= any ('1026962305','1026962306','1026962307','1026962308','1026962304')
-- 或者
s_id in ('1026962305','1026962306','1026962307','1026962308','1026962304')