当前位置: 代码迷 >> Oracle认证考试 >> 帮小弟我纠正一个点但的plsql的异常
  详细解决方案

帮小弟我纠正一个点但的plsql的异常

热度:8855   发布时间:2013-02-26 00:00:00.0
帮我纠正一个点但的plsql的错误!
declare 

 
maxrecords constant int:=5000; 

 
i int :=1; 
s varchar2 :='a';
 
Begin 

 
for i in 1..maxrecords loop 

 
s:=s||','||to_char(i);
delete from emp where empno in '('||s||')';

 
end loop; 

 
dbms_output.put_line(' 成功录入删除! '); 

 
commit; 

 
end; 


s字符串拼接不对啊。
应该怎么做才对啊。

------解决方案--------------------------------------------------------
delete from emp where empno in (s);
delete from emp where empno = s;
或者你可以尝试一下直接用下面的语句,看是否可行.
delete from emp where empno between 's1' and 's50';
------解决方案--------------------------------------------------------
当然是用execute immediate了
另外commit应该在put_line前
  相关解决方案