记录太多,不能真正delete
ORACLE 8.15,使用proc*C来开发
一个表中有5万条记录,而我想删掉其中2万条时;
经过delete 和commit后,那些记录仍然存在。
现在只能每次删除时缩小条件范围。
有人提出建议线 count一下符合记录的条数,再用循环来分几次删除,我觉着这个方法太繁琐了。
另一个方法是分三步:
1. create a temp table: create table temp as select * from (your org table);
2. truncate your org table: truncate table (your org table name)
3. insert all rows back: insert into (you org table name) as select * from temp.
这中方法的问题是在SQL语句中的where中不能出现HOST variable,不然预编译就不能通过,报错:
PCC-S-02206, Host variables are not permitted within a DDL statement
真诚请教,哪位还有什么好方法。
THX!
|