AND 또는 OR 연산자를 사용하여 여러 조건이 있는 저장 프로시저에서 if 문을 사용할 수 있습니다. 구문은 다음과 같습니다 -
DECLARE X int; DECLARE Y int; SET X = value1; SET Y = value2; IF ( (X < Y AND X > value1 AND Y >value2) OR X! = anyValueToCompare) THEN yourStatement; ELSE yourStatement; END IF
이제 위의 구문을 이해하기 위해 저장 프로시저를 만들어 보겠습니다. 저장 프로시저를 생성하는 쿼리는 다음과 같습니다. -
mysql> create procedure SP_IFELSEDEMO() -> BEGIN -> DECLARE X int; -> DECLARE Y int; -> SET X=100; -> SET Y=400; -> IF ( (X < Y AND X > 99 AND Y >300) OR X! = 10 ) THEN -> SELECT 'Logic is Correct'; -> ELSE -> SELECT 'Logic is not Correct'; -> END IF; -> END; -> // Query OK, 0 rows affected (0.27 sec) mysql> DELIMITER ;
이제 CALL 명령을 사용하여 저장 프로시저를 호출합니다. 쿼리는 다음과 같습니다 -
mysql> call SP_IF ELSEDEMO();
출력
+------------------+ | Logic is Correct | +------------------+ | Logic is Correct | +------------------+ 1 row in set (0.04 sec) Query OK, 0 rows affected (0.07 sec)