다음을 통해 공유

MSSQL 에서 쿼리 수행 에러 표시 차이 관련

하승환 0 평판 포인트
2024-10-29T01:35:10.94+00:00

아래 2개 Case 경우 , 리턴 결과 집합 건수가

(1) 경우는 하나이고, (2) 경우는 2개 인데,

리턴 결과 집합이 하나만 나오게 할 순 없는 지요 ?

(1) 테이블이 없는 경우

BEGIN

        BEGIN TRY

                              EXEC(N'SELECT 1 AS DD FROM TB_TEST');

        END TRY

        BEGIN CATCH         

               DECLARE @ERR_MSG  NVARCHAR(MAX) = ERROR_MESSAGE();

        PRINT( '@ERR_MSG1 : ' + CONVERT( NVARCHAR(100) , @ERR_MSG ) )     

            SELECT '-1'     AS ERR_CD, '' + @ERR_MSG + '' AS ERR_MSG;

        END CATCH

END

case1.png

(2) SELECT 문장 오류시

BEGIN

        BEGIN TRY

                              EXEC('SELECT CONVERT(NUMERIC , ''AA'') as AA, 1 AS CNT');

        END TRY

        BEGIN CATCH         

               DECLARE @ERR_MSG  NVARCHAR(MAX) = ERROR_MESSAGE();

        PRINT( '@ERR_MSG1 : ' + CONVERT( NVARCHAR(100) , @ERR_MSG ) )      

            SELECT '-1'     AS ERR_CD, '' + @ERR_MSG + '' AS ERR_MSG;

        END CATCH

END

User's image

Community Center | Q&A 사이트에 대해 이야기 하기 | Q&A 시작하기
댓글 0개 설명 없음

답변

질문 작성자는 답변을 '승인됨'으로 표시하고, 중재자는 답변을 '추천됨'으로 표시할 수 있습니다. 이를 통해 사용자는 해당 답변이 작성자의 문제를 해결했다는 것을 알 수 있습니다.