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.txt
0.00MB
이상으로 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 |
댓글