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
'Database > MSSQL' 카테고리의 다른 글
MSSQL Server 에이전트 서비스 활성화 (4) | 2015.10.28 |
---|---|
MSSQL FOREIGN KEY 제약 조건에서 참조하므로 삭제할 수 없습니다. (0) | 2015.08.18 |
MSSQL 복원(Restore) 시 데이터베이스가 사용 중이어서 배타적으로 액세스 할 수 없습니다 (5) | 2015.08.13 |
[MSSQL]SQL Server 테이블을 저장 하려고 하면 오류 메시지: "변경 내용 저장 허용 되지 않습니다." (1) | 2014.05.20 |
MSSQL 2008 설치 (14) | 2013.09.24 |
MSSQL IF EXISTS (SELECT UPDATE, SELECT INSERT) (2) | 2013.02.07 |
[MSSQL] 조인,JOIN (INNER JOIN, OUTER JOIN) (2) | 2013.01.22 |
MS-SQL에서 테이블 생성 (0) | 2012.12.03 |
MSSQL 소수점 절사 함수 FLOOR() (0) | 2012.09.13 |
MSSQL SA 계정 비밀번호 분실 시 변경 방법 (0) | 2012.08.14 |
MSSQL IDENTITY 값 초기화 (0) | 2012.08.14 |
댓글을 달아 주세요
여기에 begin try
begin catch 까지 더해지면 에러가나나요?ㅠㅠ 제가잘못한거겠죠
자꾸 END TRY 쪽에 필요 conversation 이라고 나와서요ㅠㅋ
https://msdn.microsoft.com/ko-kr/library/ms175976.aspx
작성하신 쿼리문을 제가 확인할 수 없으니 일단 MSDN 링크 알려드릴게요.
본문에 있는 쿼리 안에 쓰시지는 않았는지
문법에 맞게 사용하셨는지 체크해보시기 바랍니다.
쿼리 중간에 들어가는게 아니고 바깥에 따로 구현하셔야 합니다.