database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 5738 게시물 읽기
No. 5738
TRY~CATCH 문에서 ERROR를 발생시킨 객체를 알 수 있는 방법은?
작성자
용세중(sjydevil)
작성일
2010-08-24 17:21
조회수
6,707

TRY~CATCH 문에서 ERROR를 발생시킨 객체를 알 수 있는 방법은?
----------------------------------------------------------------
BEGIN TRY ~ END TRY 문에서 ERROR를 발생한 객체의 종류,

예를 들면 에러를 발생시킨 테이블 이름에 따라

BEGING CATCH ~ END CATCH 문에서 에러 처리를 달리 하고자 하는데요...

아래 코드 처럼 말이죠.

어떻게 하면 될까요?
-------------------------------------------------------------
BEGIN TRY
    UPDATE tblAAA SET = @QCT_NO WHERE REQ_NUM=@REQ_NUM;

    UPDATE tblBBB SET IF_RSLT_CODE = 'OK' WHERE IF_ID=@IF_ID;  
END TRY
BEGIN CATCH
    IF( ??????)
    BEGIN
        -- tblAAA 에서 에러가 발생한 경우
        ROLLBACK TRAN;

        UPDATE tblAAA SET ERRORMSG = 'AAAAAA' WHERE IF_ID=@IF_ID;  

        RETURN;
    END;
    ELSE
    BEGIN
        -- tblBBB 에서 에러가 발생한 경우
        ROLLBACK TRAN;

        RETURN;
    END;
END CATCH
 

이 글에 대한 댓글이 총 1건 있습니다.

BOL에서 "transact-sql에서 try...catch 사용"이라는 제목의 글을 보시면 제일 하단에 "중첩오류 처리 예"가 있습니다.

굳이 update를 연속해서 한번에 수행해야 하는 상황이 아니시라면 상기 예제를 응용해 보시는 것도 방법이 될 듯 싶은데요...

손님님이 2010-08-25 17:27에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5741BCP 명령어로 DB 백업... [1]
김영남
2010-08-26
7210
5740테이블이 어떤 데이터베이스에 있는지 알 수 있을까? [1]
용세중
2010-08-26
6392
5739DB Lock, 서버 속도 저하 문제 관련 질문드립니다. [1]
윤주현
2010-08-24
7295
5738TRY~CATCH 문에서 ERROR를 발생시킨 객체를 알 수 있는 방법은? [1]
용세중
2010-08-24
6707
5737새 데이터베이스 생성시 부하가 심합니다.
마이그
2010-08-24
6026
5736셀렉트 해올때 IF문을 사용할수있나요? [1]
정재원
2010-08-24
7519
5735IMG 파일을 INSERT 시키는 쿼리
kimmd
2010-08-23
6357
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다