MSSQL IF...ELSE 블록 문법 - 흐름 제어(2)

MSSQL IF…ELSE 블록 문법 – 흐름 제어(2)

MS SQL 흐름 제어문 중에서 IF…ELSE 문은 조건에 따라 분기할 때 사용합니다. BEGIN…END 블록문과 같이 사용되는 경우가 거의 대부분입니다. 다른 프로그램 언어와 동일한 동작을 한다고 보시면 되고 특히 저장 프로시저로 개발할 때 필수로 사용되는 흐름 제어문이죠.

그럼 간단한 예제를 통해서 IF…ELSE 문에 대해서 알아보죠.

포스트 기준

– Microsoft SQL Server 2019

– SSMS 18.10

사용 예제

1. 구문(syntaxsql)

IF Boolean_expression   
     { sql_statement | statement_block }   
[ ELSE   
     { sql_statement | statement_block } ]

▶ IF…ELSE 블록은 중첩될 수 있습니다.


2. IF…ELSE 예제

DECLARE   @GRADE    INT,   -- 학년
          @GENDER   INT    -- 성별
     
SET @GRADE = 0    -- 초기화
SET @GENDER = 0   -- 초기화
SELECT @GRADE = GRADE,    -- 학년(1,2,3,4)
       @GENDER = GENDER   -- 성별(1:남자, 2:여자)
  FROM BS_DEMO_9
 WHERE P_ID = '1001'
     
-- 1학년인 경우 
IF @GRADE = 1
BEGIN
   -- 남자인 경우
   IF @GENDER = 1
   BEGIN
      PRINT '남자'
   END
   -- 여자인 경우
   ELSE
   BEGIN
      PRINT '여자'
   END
        
   PRINT '1학년'
END
     
ELSE IF @GRADE = 2
BEGIN
   PRINT '2학년'
END
     
ELSE IF @GRADE = 3  PRINT '3학년'
     
ELSE   
   PRINT '4학년'

① 문 블록을 정의하려면 흐름 제어 키워드인 BEGIN 및 END를 사용하셔야 됩니다.

▶ BEGIN 및 END 키워드 생략 시 오류 발생

▶ IF문은 중첩해서 사용 가능합니다.

② 단문인 경우는 한 줄로 표기 가능합니다.

③ 단문인 경우는 BEGIN 및 END 키워드 생략이 가능합니다.

▶ 저 같은 경우는 습관적으로 BEGIN 및 END 키워드를 무조건 넣어줍니다.

IF...ELSE 예제

함께 보면 좋은 게시글

위로 스크롤