您现在的位置: 网页制作教程网 >> 数据库教程 >> oracle 教程 >> 正文

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

作者:动态网站…

来源:动态网站制作指南

热度:

2008-2-27 9:59:52

racle的快速删除和快速插入

快速插入


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


快速删除


建个存储过程,达到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;
/


我来说两句:

1分 2分 3分 4分 5分
姓名: *


* 请各位网友遵纪守法并注意语言文明。
网站简介 | 联系方式 | 意见建议 | 版权说明
Copyright © 2007 All rights reserved
滇ICP备06006992号