各位大哥:
现在有这样个问题,用类似这样的语句去做批量插入:
insert into a select * from b where enable = 1
但是b表的数据量又太大,不知道有何解决方法? 能否给我提供个脚本根据rowid可以分批慢慢删除的.在线急等,其他好办法也行,在线急啊~~~~
现在有这样个问题,用类似这样的语句去做批量插入:
insert into a select * from b where enable = 1
但是b表的数据量又太大,不知道有何解决方法? 能否给我提供个脚本根据rowid可以分批慢慢删除的.在线急等,其他好办法也行,在线急啊~~~~
解决方案 »
- OracleCSService 启动1043号错误!
- 求sql判断语句,仓库表和客户表,门店表是一对一的关系。
- all_tba_comments & all_tables 连接的奇怪现象,困惑ing
- 关于oracle 9i的安装问题
- ◆dmp文件导入◆
- Oracle文档中的语法图应该怎么看
- 数据库向导不能启动
- 急等!!!!BDEadimin错误,该程序执行非操作,即将关闭.......????
- 请问oracle 10g 下的init.ora文件是在pfile/下的init.ora.12044...一堆数字这个文件吗
- 请问一个关于表空间UNDOTBS1的问题
- 新建表時報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,你的操作其实都需要全表扫描一次.
否则回滚段肯定越来越小,最后出错。