----------------------------
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 |