WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

实例讲解Oracle中的快速插入和快速删除

更新时间:2007-12-25 13:02 作者:20931点击:

Oracle中的快速删除和快速插入:

1.快速插入

SQL> insert /**//*+append*/ into t select * from dba_objects nologging; 

9157 rows created. 


SQL> select a.xidusn,a.xidslot,a.used_ublk,a.used_urec,b.username 
 2 from v$transaction a,v$session b,v$mystat c 
 3 where a.addr = b.taddr and c.statistic# = 1 
 4 / 

 XIDUSN XIDSLOT USED_UBLK USED_UREC USERNAME 
---------- ---------- ---------- 
 2 21 1 1 CUST 

SQL> commit; 

Commit complete. 

SQL> insert into t select * from dba_objects; 

9157 rows created. 

SQL> select a.xidusn,a.xidslot,a.used_ublk,a.used_urec,b.username 
 2 from v$transaction a,v$session b,v$mystat c 
 3 where a.addr = b.taddr and c.statistic# = 1 
 4 / 

 XIDUSN XIDSLOT USED_UBLK USED_UREC USERNAME 
---------- ---------- ---------- 
 1 1 13 423 CUST

2.快速删除

建一个存储过程,达到2000条或者更多条,提交一次.

create or replace procedure p_delete 
as 
n number(10); 
cursor my_cur is select * from t1; 
begin 
n:=0; 
for i in my_cur loop  
delete from t1 where <条件>; 
n:=n+1; 
if (mod(n,2000))=0 then 
commit; 
end if; 
end loop; 
end; 
/
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容