Oralce数据库常用预定义例外: + N0 F. I X* Q) c Z0 T" k4 r
EXCEPTION
: y0 Z; y8 v- SWHEN CURSOR_ALREADY_OPEN THEN-- ORA-06511 SQLCODE = -6511 游标已经打开 ! Z3 P6 Q( o0 c: c* |& f& f* |& W5 \8 q) @
/ m2 f7 J g, }6 K r' ^+ W$ n
WHEN DUP_VAL_ON_INDEX THEN 6 d7 v3 e: ]: l+ a6 I* F
-- ORA-00001 SQLCODE = -1 向唯一索引中插入重复数据
V# N- l/ _6 P* s: k0 _8 s% P
. a, G( D$ V1 vWHEN INVALID_CURSOR THEN
" V1 t4 O/ W6 \- ^0 n5 P-- ORA-01001 SQLCODE = -1001 非法游标操作
' N; S. h* W; v* I- b! A _3 t/ s
WHEN INVALID_NUMBER THEN-- ORA-01722 SQLCODE = -1722 字符向数字转换失败 7 j; u3 V: s& R
3 o% x+ y9 _8 c4 D( Y0 O
WHEN LOGIN_DENIED THEN " V- x& g9 ]5 i& l5 y" `, @+ }
-- ORA-01017 SQLCODE = -1017 - X: V+ L9 K8 b0 g; r
& n" F4 ^5 ^( | e' O2 R
WHEN NO_DATA_FOUND THEN ( k* Q/ L. j! M
-- ORA-01403 SQLCODE = +100 没有找到数据
: }1 w0 P" v3 p9 P
" f0 H }- i- ^+ j9 D2 c4 P3 K0 ]8 ?WHEN NOT_LOGGED_ON THEN
! o* f7 X; h8 ^% D3 i' G-- ORA-01012 SQLCODE = -1012
1 \4 G1 }) E, U! V( q. I' } |3 W/ o$ J. K6 U, e5 e( _0 \8 g* Q: a
WHEN PROGRAM_ERROR THEN - O: C1 S' @. I/ W
-- ORA-06501 SQLCODE = -6501 程序错误 6 j F0 f- `" }
. Y+ q0 t( E: X, [. Y, j& K0 cWHEN STORAGE_ERROR THEN + R, m: {8 d/ ~
-- ORA-06500 SQLCODE = -6500 9 m# L$ O0 G+ H& M. y2 x0 }
' [ j3 Z# a) O+ d
WHEN TIMEOUT_ON_RESOURCE THEN 1 Q# X# ]7 N7 q
-- ORA-00051 SQLCODE = -51 & _5 R0 N& X8 D" W# |; g$ n
0 m. w4 n5 R- e" j& `WHEN TOO_MANY_ROWS THEN-- ORA-01422 SQLCODE = -1422 返回多行
z+ |) \1 J8 m6 U9 B [
, l9 S8 ^& k9 ^2 A5 S9 E( mWHEN TRANSACTION_BACKED_OUT THEN $ o; |1 T2 I# u
-- ORA-00061 SQLCODE = -61 ; P; u" k; ~# Y6 |) s
( l& @, M2 R) F( v3 k1 W
WHEN VALUE_ERROR THEN 0 l% f. W0 n+ T. c
-- ORA-06502 SQLCODE = -6502 数值转换错误
4 t+ E7 [: D$ Q2 b
/ v" z) }( J% r; S+ OWHEN ZERO_DIVIDE THEN
+ |/ z' o% p' a3 Y+ U-- ORA-01476 SQLCODE = -1476 被零除 ( l. A1 i4 m4 F M
. Q. B2 |, w# Y! l D
WHEN OTHERS THEN-- 其它任何错误的处理 * N9 D7 E- E6 B6 Y5 D
' u p# K: s! E; O c
END;
+ `" ?( z- W8 ^: R$ L4 S
+ }7 ~/ n i* w4 F% _, k: Q+ J9 H--用户定义的例外 / C( x% p8 E! }: k9 L' e9 k) |
DECLARE
2 P2 h* }! Z3 h" q1 ?4 M7 HFIND_DATA_EMP EXCEPTION;
, o& b. L3 c# S6 w" ?! @BEGIN
+ v. R' c9 I5 ~" ~1 ~9 lIF ... THEN
* e5 C# W# S7 B- v& nRAISE FIND_DATA_EMP; 2 F L M& [7 y. p3 V Z. G G3 H6 y
END IF; % {# k' S2 ^, [3 P
EXCEPTION ) l6 e% o) e' k' w" `
WHEN LOB_NO_LOCKED THEN
* Y7 X( d( m5 Z! g8 d& M... END; |