----------------------------
EXCEPTION (예외)
----------------------------
-- 경미한 오류의 일종
-- 실행 오류의 하위 카테고리
-- 예외 발생 시 전체 프로그램의 Runtime이 유지되도록 처리하는 작업을 예외처리라고 한다.
● 예외 발생
중간에 없는 테이블을 넣어 번개 모양 버튼을 눌러주면
모든 문장을 한번에 실행시키면서 테이블이 존재하지 않는다는 에러가 뜨는걸 볼 수 있다.
또, column 개수와 넣으려는 값이 매치가 안되면 이런 오류가 나온다.
이 두 오류를 해결하는 코드를 만들어 볼 것 이다.
● 개별 오류 받기
먼저 각각의 오류들을 나타내주는 코드이다.
call을 해주면 모든 sql 문들이 실행되며 오류까지도 실행되는 것을 볼 수 있다.
결과는 각각 이렇게 나오게 된다.
select * from usertbl;
select * from notable; 테이블 없는 오류
select * from buytbl;
insert into usertbl values(1); 값을 넣지 못하는 오류
select 'Result' as '끝';
다음은 한꺼번에 오류를 해결하는 방법이다.
● 모든 예외 받기
역시 에러까지 모두 실행되며 에러문에는 같은 에러 문장이 출력된다.
select * from usertbl;
select * from notable;
select * from buytbl;
insert into usertbl values(1);
select 'Result' as '끝';
● Error_log 기록하는 테이블처리
예외가 아닌 코드문을 넣으면 error_log에 아무것도 보이지 않는다.
하지만 에러 코드문을 넣으면 에러문을 볼 수 있다.
call tbl_std_proc('af','홍길동','5-'); 실행시 age 값이 나오지 않고
show errors;
select * from tbl_std_errlog; 하면 에러 로그에 시간과 에러코드, 에러 메세지가 나오게 된다.
'IT수업 > 데이터베이스' 카테고리의 다른 글
it 수업 7주차 (28) TRIGGER (0) | 2024.02.08 |
---|---|
it 수업 7주차 (26) TRANSACTION (ROLLBACK) (1) | 2024.02.08 |
it 수업 7주차 (25) Procedure (1) | 2024.02.07 |
it 수업 7주차 (24) PIVOT (1) | 2024.02.07 |
it 수업 7주차 (23) JSON (0) | 2024.02.05 |