sql存储过程 IN函数 赋参数 问题
方法1select * from users where dept_code in ('0000005','0000026')create or replace procedure mypro(pkey in varchar2)asbegindbms_output.put_line(pkey);for c in( select * from mgs_users where dept_code in (pkey)) loop update mgs_users set enabled='N' where USER_ID = c.USER_ID;end loop;end;beginmypro('''0000005'''||chr(44)||'''0000026''');end;==================================================================================================方法2select * from mgs_users where dept_code in ('0000005','0000026')create or replace procedure mypro(pkey in varchar2)asv_str varchar2(500);begindbms_output.put_line(pkey);v_str:='begin for c in( select * from mgs_users where dept_code in ('||pkey||')) loop ';v_str:=v_str||'update mgs_users set enabled=''Y'' where USER_ID = c.USER_ID; ' ;v_str:=v_str||'end loop;end;' ;execute immediate v_str;commit;end;beginmypro('''0000005'',''0000026''');end;