কম্পিউটার টিউটোরিয়াল

MySQL 저장 프로시저에서 IF-ELSE 조건문 구현하기

저장 프로시저 내에서 IF ... THEN ... ELSE ... END IF 블록으로 분기 로직을 구현할 수 있습니다.

구문

IF 조건 THEN
    문장1;
ELSE
    문장2;
END IF;

예제: 값이 1000 초과면 메시지1, 아니면 메시지2 출력

mysql> DELIMITER //
mysql> CREATE PROCEDURE If_else_stored_demo(value INT)
    -> BEGIN
    ->     IF value > 1000 THEN
    ->         SELECT "your value is greater than 1000";
    ->     ELSE
    ->         SELECT "your value is less than or equal to 1000";
    ->     END IF;
    -> END
    -> //
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;

프로시저 호출 (500 전달)

mysql> CALL If_else_stored_demo(500);
+------------------------------------------+
| your value is less than or equal to 1000 |
+------------------------------------------+
| your value is less than or equal to 1000 |
+------------------------------------------+
1 row in set (0.00 sec)

확장: IF ... THEN ... ELSEIF ... THEN ... ELSE ... END IF로 다중 분기 가능. CASE WHEN ... THEN ... END CASE도 사용 가능(표준 SQL). 프로시저 내에선 세미콜론으로 문장 구분, 전체 프로시저는 DELIMITER로 구분자 변경 후 정의.

  1. MySQL স্টোরড প্রসিডিউরে WHERE IN() ব্যবহার করা

  2. MySQL 저장 프로시저에서 수학 연산(곱셈) 수행하기

  3. MySQL-এ স্টোরড প্রসিডিউরের ভেরিয়েবলে কলামের মান সংরক্ষণ করা

  4. MySQL-এ স্টোরড প্রসিডিউরে ডাইনামিক SQL কোয়ারি ইমপ্লিমেন্ট করা