본문 바로가기
MS SQL

MS SQL_IF EXIST문 사용법

by 디디찐 2022. 10. 26.
반응형

 


1. IF EXIST문 , IF NOT EXIST문 사용법

테이블에 컬럼의 [조건에 맞는] 데이터가 존재하는지에 따라 실행되는 조건문이다. (조건은 생략 가능)

 

IF EXISTS           => 데이터가 존재할 때 조건문
IF NOT EXISTS   => 데이터가  존재하지 않을 때 조건문

 


IF (NOT )EXIST ( SELECT COLUMN1,COLUM2,...FROM TABLE [WHERE 조건]
BEGIN
     -- 실행할 쿼리
END


2. IF EXIST문 사용예시

예제) PERSON 테이블

CREATE TABLE PERSON(
    SEQ_NO INT IDENTITY,
    NAME VARCHAR(20),
    AGE INT
)
INSERT INTO PERSON(NAME,AGE)VALUES('홍길동', 10)
INSERT INTO PERSON(NAME,AGE)VALUES('김천재', 15)


✏PERSON 테이블에 변수 @NAME1(홍길동)이 존재하면 나이를 UPDATE 하기


    PERSON 테이블의 컬럼 NAME에 홍길동이 존재하면 UPDATE
    PERSON 테이블의 컬럼 NAME에 홍길동이 존재하지 않으면 INSERT

DECLARE @NAME1 VARCHAR(20)
SET @NAME1= '홍길동' 

IF EXISTS (SELECT NAME FROM PERSON WHERE NAME = @NAME1 )  
BEGIN
    UPDATE PERSON
       SET AGE = 30
     WHERE NAME = @NAME1
END
ELSE    
BEGIN
    INSERT INTO PERSON(NAME, AGE)VALUES(@NAME1,20)
END

결과) IF EXIST문 UPDATE 하기

 


3. IF NOT EXIST문 사용예시

✏PERSON 테이블에 변수 @NAME2(찐투두)가 존재하지 않으면 INSERT  

 

DECLARE @NAME2 VARCHAR(20)
SET @NAME2= '찐투두'

IF NOT EXISTS(SELECT NAME FROM PERSON WHERE NAME = @NAME2)

BEGIN
    INSERT INTO PERSON(NAME,AGE)VALUES(@NAME2, 17)
END

결과) IF NOT EXIST문 INSERT 하기


   


 테이블에 데이터가 존재하는지에 따라 INSERT 혹은 UPDATE 등을 하고 싶을 때
    IF EXIST 문이나 IF NOT EXIST 문을 사용하면 되겠쥬?

반응형