首页  |  IT相关文档  |  工具软件  |  网站建设  |  程式开发  |  图形设计  |  操作系统  |  服务器类  |  数据库类  |  网络安全  |  网络技术  |  计算机应用  |  站长之家  |  网络游戏
 

热点文章

IT动态

·淘宝与日本雅虎强强联合推出跨国交
·2010年电子书迎来黄金年
·雅虎持巨资对抗谷歌推广
·从BT站点关闭到恢复看待网站转型
·微软Docs.com平台今日正式上线
·谷歌第一季度疯狂收购10家公司
·百度即将推出PC端输入法
·IE市场份额首次跌破60%
·赛迪澄清虚假上市公告
·Opera针对漏洞发布Win/Mac平台10.5
·看待google展示光纤速度
·站长应该抓住有效的长尾机会

GG搜索更多相关
 
当前位置:主页>数据库类>ORACLE教程 >

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

来源: 作者: 发布时间:2008-01-11
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; 
/

评论 | 收藏 | | 打印 | 关闭
相关链接
     
 

Copyright 2006-2007 xhit.cn All Rights Reserved
有什么建议或意见请发信到admin@xhit.cn 皖ICP备07007336