各位大哥:
现在有这样个问题,用类似这样的语句去做批量插入:
insert into a select * from b where enable = 1
但是b表的数据量又太大,不知道有何解决方法? 能否给我提供个脚本根据rowid可以分批慢慢删除的.在线急等,其他好办法也行,在线急啊~~~~
现在有这样个问题,用类似这样的语句去做批量插入:
insert into a select * from b where enable = 1
但是b表的数据量又太大,不知道有何解决方法? 能否给我提供个脚本根据rowid可以分批慢慢删除的.在线急等,其他好办法也行,在线急啊~~~~
解决方案 »
- 求oracle GBK转UTF8的可行可靠方案!
- 操作访问服务器上oracle数据表时候出现的问题?
- sql select 效率问题 高手快来看看
- 关于alter database backup controlfile to trace的问题
- 求一SQL语句
- 不使用HQL语句实现联合查询
- Oracle临时表问题
- 请高手帮帮忙ORA-00600:内部错误,参数[19004],[],[],[],[],[],[],[]
- 初学ORACLE,安装完成后服务正常启动,SQL PLUS可以进去。但重启机器后则不行?
- 求expdp和impdp的用法,屡试不爽啊!在线等!
- 新建表時報ORA-00904錯~~?
- 那个高手能写出这个SQL语句
insert /*+append*/ into a select * from b where enable = 1;
commit;--删除(笨办法,但行之有效)
set autocommit on
delete from b where enable = 1 and rownum<=10000; --重复执行这一句
set autocommit off
commit;如果不行就试试all_rows提示,或者看看系统是不是非OLAP状态并且是否有bitmap index.如果上面的都否定了,那么不管是insert还是delete,你的操作其实都需要全表扫描一次.
否则回滚段肯定越来越小,最后出错。