a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 121|回复: 0

[考试辅导] 关于oracle快速删除和快速插入的方法代码

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
-快速插入  ' H; o0 D7 D! |) i3 ?
$ g, b5 T3 W. ]( {
SQL> insert /**//*+append*/ into t select * from dba_objects nologging;  : W/ N* d( G- b

9 M2 a% {8 h! {' i; J3 ^4 o& G9157 rows created.  
  O4 B7 H& s0 u: S7 E3 B  v8 E( A0 T$ y
% d: g  l3 }' N( c; L7 s) W+ J! p  \4 F" v1 H+ o/ C( y
SQL> select a.xidusn,a.xidslot,a.used_ublk,a.used_urec,b.username  
& M& [: c) f. A$ t( H2 R. l 2 from v$transaction a,v$session b,v$mystat c  
$ S' p3 ^9 O' N% N$ m0 y8 r* u 3 where a.addr = b.taddr and c.statistic# = 1  + I, D: L' g3 m- @
4 /  / w, [- X. q0 y$ ]; A! w( J

1 l3 o# l& p; @- g XIDUSN XIDSLOT USED_UBLK USED_UREC USERNAME  " S% N5 }# W7 x, a5 _
---------- ---------- ---------- ---------- ------------------------------  ( ~1 o9 f% N( q5 c$ A; L
2 21 1 1 CUST  " d2 L4 K" l8 b  l$ A9 j
8 X' \% |4 o/ o# y2 x
SQL> commit;  
0 q4 [5 |' ~" }: N; `  Z/ ]& O* A7 T
Commit complete.  8 e* g6 C( y$ u+ _1 l6 V! T) L3 E! t/ k

6 L1 |: T7 l2 [8 X0 }3 D1 B. U4 wSQL> insert into t select * from dba_objects;  
# b7 i! P) p3 i. x$ q' j
4 u4 r; c6 p9 e' J+ o3 |9157 rows created.  
' K- j) r6 R4 E! q# G# c" a; s6 a3 l* e0 A5 \
SQL> select a.xidusn,a.xidslot,a.used_ublk,a.used_urec,b.username  8 W3 s! X- x) a+ i( p
2 from v$transaction a,v$session b,v$mystat c  7 o0 Z9 \1 W+ J1 F+ l5 Y( ]
3 where a.addr = b.taddr and c.statistic# = 1  * b8 N/ s4 ]& C! H3 j& k9 ]$ N) x& f
4 /  ; }, e! T  l1 }: z$ f0 B
- `9 a* i9 N, m1 j9 K
XIDUSN XIDSLOT USED_UBLK USED_UREC USERNAME  - }+ u: X( p  {, p
---------- ---------- ---------- ---------- ------------------------------  
4 u8 z( A8 I# o4 Z7 M# A5 [ 1 1 13 423 CUST  $ P7 `! o* V* k6 I9 X

* X4 o# e+ `1 [9 G# |  H
. w. \% i- T" `8 v' j+ S快速删除  
4 J& Y8 Y+ g4 [, y- e2 j9 N建个存储过程,达到2000条或者更多条,提交一次.  , K% D2 P( b& _# G* J
create or replace procedure p_delete  
2 `7 g& b- {4 G' e# b3 A& e  Uas  
, n: |" s$ F6 \' z2 A7 u0 Zn number(10);  / d. }! T5 S; i  N  k
cursor my_cur is select * from t1;  9 ~  f6 N' e$ ~* ^% ~, y/ j
begin  6 R1 w- {7 M9 F- A3 }% r
n:=0;  
( O  k1 V* Z  K( V. s; Sfor i in my_cur loop   2 i: [) A7 q+ Y. S# h9 I  [
delete from t1 where ;  ; \% G) K* Q# E3 T$ U
n:=n+1;  
' K* s6 D3 t  ^* X% B: X' g: jif (mod(n,2000))=0 then  
) s8 B: F4 f- Z& i3 |$ Dcommit;  
! s# Q9 {5 |( F7 y1 A; `: C* y4 bend if;  
8 x$ R% d2 y7 Q5 o. w( eend loop;  
) S. W) ]7 c. Y9 R* [end;  
) T* \  ~: Z' B8 b/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-8 00:57 , Processed in 0.202239 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表