본문 바로가기
Study/프로그래밍 공부

mySQL 에러처리 방법 예제

by prlkt5200 2024. 9. 24.
반응형
drop procedure if exists errorproc;
delimiter //
create procedure errorproc()

-- errorproc() 내부에 오류 처리 작용을 정의해놨다.
begin
	-- declare 액션 handler for 오류조건 그리고 처리문장
	declare continue handler for 1146 
    select '테이블이 없어요 ㅠㅠ'
    as '메시지';
    select * from notable;
    select * from departments;
end //
delimiter ;
call errorproc();




drop procedure if exists errorproc2;
delimiter //
create procedure errorproc2()
begin 

-- declare 액션 handler for sql전체적인 오류 
-- 그리고 처리문구(begin end로 감싸준 거 실행)
declare continue handler for sqlexception
begin
-- show 에러로 에러내역을 보여준다.
	show errors;
    select '오류가 발생했네요. 작업은 취소시켰습니다.' as 메시지;
    rollback;
end;
   INSERT INTO userTBL VALUES('YJS', '윤정수', 1988, '서울', NULL, NULL, 170, CURRENT_DATE());
   end //
   delimiter ;
   call errorproc2();
반응형