728x90
이번 시간에는 MSSQL BEGIN TRY, BEGIN CATCH 사용법에 대해서 알아보겠습니다.
BEGIN TRY, BEGIN CATCH 문은
BEGIN TRY 속에 있는 쿼리의 결과 값이 오류가 발생하면
BEGIN CATCH 로 보내서 해당 쿼리를 실행하게 하는 구문입니다.
(보통은 원하는 결과가 아니면 BEGIN CATCH 에서 오류로 표기하기 위해서 사용합니다.)
사용법
--문법
BEGIN TRY
{ sql_statement | statement_block }
END TRY
BEGIN CATCH
[ { sql_statement | statement_block } ]
END CATCH
sql_statement : Transact-SQL 문입니다.
statement_block : 일괄 처리되거나 BEGIN … END 블록으로 묶인 Transact-SQL 문의 그룹입니다.
예제
--예시
BEGIN TRY -- TRY 속 결과가 오류면 CATCH로 감
select 99/0 --에러구문
COMMIT TRAN --에러가 없으면 실행
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRAN --에러 발생시롤백한다
--오류 메시지 출력
DECLARE @ErrorMessage NVARCHAR(MAX)
SELECT @ErrorMessage = ERROR_MESSAGE()
--PRINT @ErrorMessage
RAISERROR (@ErrorMessage,16,1); --16으로 설정하면 실제의 오류가 표시된다
--RAISERROR ('error',16,1); --16으로 설정하면 실제의 오류가 표시된다
RETURN
END CATCH
예제 첨부
이상으로 BEGIN TRY, BEGIN CATCH 사용해서 오류구문을 처리하고 출력해 보는 방법에 대해서 알아보았습니다.
반응형
그리드형
'IT > MSSQL' 카테고리의 다른 글
[MSSQL] 뷰(View) 테이블 생성방법 (0) | 2021.04.12 |
---|---|
[MSSQL] View 권한 부여 (테이블 select) (0) | 2021.04.12 |
GenericJDBCException 오류 원인 (org.hibernate.exception.) (0) | 2021.04.09 |
[MSSQL] 데이터베이스 튜닝 방법 (엔진 튜닝 관리자 사용) (0) | 2021.04.07 |
[MSSQL] AdventureWorks2016 샘플(예제) 데이터베이스 다운로드 (0) | 2021.04.06 |
댓글