• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 1. 데이터 정의 문
    2. 데이터 조작 문
    3. MySQL 트랜잭션과 잠금 문
    4. 복제 문
    5. Prepared Statements위한 SQL 구문
    6. MySQL 복합문 구문
    1. BEGIN ... END 복합 명령문 구문
    2. 레이블 구문
    3. DECLARE 구문
    4. 저장 프로그램 내의 변수
    5. 흐름 제어문
    1. CASE 구문
    2. IF 구문
    3. ITERATE 구문
    4. LEAVE 구문
    5. LOOP 구문
    6. REPEAT 구문
    7. RETURN 구문
    8. WHILE 구문
    6. 커서
    7. 조건의 처리
    7. 데이터베이스 관리 문
    8. MySQL 유틸리티 문
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

13.6.5.2 IF 구문

IF search_condition THEN statement_list
    [ELSEIF search_condition THEN statement_list] ...
    [ELSE statement_list]
END IF 

저장 프로그램의 IF 문은 기본적인 조건 구조 구문을 구현합니다.

참고

여기에 설명 된 IF 문은 다른 IF() 함수도 존재합니다. 섹션 12.4 "제어 흐름 함수" 를 참조하십시오. IF 문 THEN , ELSE 와 ELSEIF 절을 포함 할 수 있으며, END IF 로 종료합니다.

search_condition 이 true로 평가 된 경우 해당 THEN 또는 ELSEIF 절 statement_list 가 실행됩니다. 어떤 search_condition 일치하지 않는 경우 ELSE 절 statement_list 가 실행됩니다.

각 statement_list 는 하나 이상의 SQL 문으로 구성됩니다. 빈 statement_list 는 허용되지 않습니다.

IF ... END IF 블록은 다음의 예와 같이 저장 프로그램에서 사용되는 다른 모든 흐름 제어 블록과 마찬가지로 세미콜론으로 종료해야합니다.

 DELIMITER //

 CREATE FUNCTION SimpleCompare (n INT, m INT)
   RETURNS VARCHAR (20)

   BEGIN
     DECLARE s VARCHAR (20);

     IF n> m THEN SET s => ';
     ELSEIF n = m THEN SET s = '=';
     ELSE SET s = '<';
     END IF;

     SET s = CONCAT (n ','s '', m);

     RETURN s;
   END //

 DELIMITER;

다른 흐름 제어 구조 구문과 마찬가지로 IF ... END IF 블록은 다른 흐름 제어 구조 문법 (다른 IF 문 포함) 내에 중첩 될 수 있습니다. 각 IF 는 자체 END IF 와 연속 세미콜론으로 종료해야합니다. 다음과 같이 들여 쓰기를 사용하여 중첩 된 흐름 제어 블록을 인간이 쉽게 읽을 수 있습니다 (그러나 이것이 MySQL에 필요한 것은 아닙니다).

 DELIMITER //

 CREATE FUNCTION VerboseCompare (n INT, m INT)
   RETURNS VARCHAR (50)

   BEGIN
     DECLARE s VARCHAR (50);

     IF n = m THEN SET s = 'equals';
     ELSE
       IF n> m THEN SET s = 'greater';
       ELSE SET s = 'less';
       END IF;

       SET s = CONCAT ( 'is's 'than');
     END IF;

     SET s = CONCAT (n ','s ','m '.');

     RETURN s;
   END //

 DELIMITER;

이 예에서는 내부의 IF 는 n 이 m 에 동일하지 않은 경우에만 평가됩니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved