我寫了一個包,在包里面我定義了一個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'),查詢有值。那位大神能告訴我為什么
uj5u.com熱心網友回復:
程序里不能這么直接查詢吧, select yijiid from mz_yiji1 where yijiid in s_id;改為select into另外可以試試動態陳述句:
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 ;
uj5u.com熱心網友回復:
-- 這個寫法會出錯的,
s_id= ('1026962305','1026962306','1026962307','1026962308','1026962304')
如果是多個值,必須寫成這樣的,加一個 any
s_id= any ('1026962305','1026962306','1026962307','1026962308','1026962304')
-- 或者
s_id in ('1026962305','1026962306','1026962307','1026962308','1026962304')
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/117737.html
標籤:開發
上一篇:存盤程序求助啊,
