MSSQL 프로시져의 쿼리문 중 IF문을 사용한 예제입니다.

 

SELECT문을 사용한 쿼리를 실행 후 결과값이 존재하면 A동작,

결과값이 존재하지 않으면 B동작 수행을 하는 구문입니다.

여기서 중요한 부분은 EXISTS입니다.

IF EXISTS(
                SELECT SEQ FROM TABLE_A
                WHERE SEQ = @P_SEQ
         )
    BEGIN    //SELECT문의 결과값이 존재할  경우 실행
         UPDATE TABLE_A
            SET USERNAME = @P_NAME
          WHERE SEQ = @P_SEQ
    END     
ELSE
    BEGIN    //SELECT문의 결과값이 없을 경우 실행
        INSERT INTO TABLE_A(SEQ, USERNAME)
        VALUES(@P_SEQ, @P_NAME)
    END


Posted by 준콩ol 준콩ol

댓글을 달아 주세요

  1. nn 2016.10.12 09:52  댓글주소  수정/삭제  댓글쓰기

    여기에 begin try
    begin catch 까지 더해지면 에러가나나요?ㅠㅠ 제가잘못한거겠죠
    자꾸 END TRY 쪽에 필요 conversation 이라고 나와서요ㅠㅋ

  2. 준콩ol 준콩ol 2016.10.14 08:58 신고  댓글주소  수정/삭제  댓글쓰기

    https://msdn.microsoft.com/ko-kr/library/ms175976.aspx
    작성하신 쿼리문을 제가 확인할 수 없으니 일단 MSDN 링크 알려드릴게요.
    본문에 있는 쿼리 안에 쓰시지는 않았는지
    문법에 맞게 사용하셨는지 체크해보시기 바랍니다.
    쿼리 중간에 들어가는게 아니고 바깥에 따로 구현하셔야 합니다.