ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle开发 » 记录太多,不能真正delete

标题: 记录太多,不能真正delete
离线 socall
初级会员



精华贴数 0
个人空间 0
技术积分 32 (37524)
社区积分 0 (49391)
注册日期 2001-12-12
论坛徽章:0
      
      

发表于 2001-12-12 21:51 
记录太多,不能真正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!


只看该作者    顶部
离线 srdyxy
一般会员



精华贴数 0
个人空间 0
技术积分 144 (12401)
社区积分 0 (48311)
注册日期 2001-11-12
论坛徽章:1
授权会员     
      

发表于 2001-12-13 08:52 
删除的时候有没有报错,应该没有问题的,
如果报错,你可以检查一下你的回滚段。


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问