procedure CS is
V_PRPSPERSON varchar2(100);
V_count NUMBER ;
BEGIN
V_PRPSPERSON := '''172506213'''||','||'''172506211''' ;
SELECT COUNT(*) INTO v_count from PRPSperson a WHERE a.usercode IN (V_PRPSPERSON);
end CS;
oracle 存盤程序 拼接完字串,用in 方法為什么不行,求大神幫忙!急急急
uj5u.com熱心網友回復:
in只能用于常量或變數串列,不能用于拼接的字串。uj5u.com熱心網友回復:
如果硬是要用拼接的字串,就只能寫動態SQL了。uj5u.com熱心網友回復:
要用動態SQL,或者游標回圈去處理uj5u.com熱心網友回復:
好的,謝謝您uj5u.com熱心網友回復:
不需要用到游標,寫個動態SQL,然后execute immediate 執行就行。
uj5u.com熱心網友回復:
procedure CS isV_PRPSPERSON varchar2(100);
V_count NUMBER ;
V_sqlstr varchar2(1000);
BEGIN
V_PRPSPERSON := '''172506213'''||','||'''172506211''' ;
V_sqlstr:='SELECT COUNT(*) from PRPSperson a WHERE a.usercode IN ('||V_PRPSPERSON||')';
execute immediate V_sqlstr INTO v_count;
end CS;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/81499.html
標籤:開發
上一篇:菜鳥求助
