* 이름 부여: 

1) 선언부에서 exceptino type의 exception 변수를 선언

: 이 변수가 exception 이름이 됩니다.


2) 선언부에서 PRAGMA EXCEPTION_INIT(Exception 이름(변수), -에러 번호)



drop table t1 purge;

create table t1 (no number not null);


create or replace procedure up_exceptions2(a number)

is 

begin

 insert into t1 values (a);    

end;

/


exec up_exceptions2(100) --> 정상 처리

exec up_exceptions2(null) --> 에러: ORA-01400: NULL을 ("TOP20"."T1"."NO") 안에 삽입할 수 없습니다


↓ ↓ ↓ 


create or replace procedure up_exceptions2(a number)

is 

 e_null exception;

 pragma exception_init(e_null, -1400);

begin

 insert into t1 values (a); 

exception

 when e_null then

   p('널 값을 입력하시면 아니되옵니다, 주인님!');   

end;

/


exec up_exceptions2(null) 


'Oracle > PL/SQL' 카테고리의 다른 글

15일차 # 8-18: [4] define  (0) 2012.04.24
15일차 # 8-16: [3] when others then  (0) 2012.04.24
15일차 # 8-11: [1] when 이름 then  (0) 2012.04.24
15일차 # 8-21: Exception Propagation  (0) 2012.04.24
15일차 # 8-5: 예외 처리  (0) 2012.04.24

+ Recent posts