Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

IF 논리를 사용하여 저장 프로시저 내에서 저장 프로시저를 호출하시겠습니까?

<시간/>

저장 프로시저 내에서 저장 프로시저를 호출하는 구문은 다음과 같습니다. -

If yourInputValue > 100 then
     call yourProcedureName1();
 else
    call yourProcedureName2();
    end If ;
    END

위의 구문을 구현해 보겠습니다. 위의 개념을 구현하기 위해 저장 프로시저를 만들어 보겠습니다 -

mysql> delimiter //
mysql> create procedure Hello_Stored_Procedure()
   -> BEGIN
   -> select 'Hello World!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.18 sec)

두 번째 저장 프로시저를 생성하는 쿼리는 다음과 같습니다. -

mysql> create procedure Hi_Stored_Procedure()
   -> BEGIN
   -> select 'Hi!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.17 sec)

다음은 IF 논리를 사용하여 저장 프로시저 내에서 저장 프로시저를 호출하는 쿼리입니다 -

mysql> DELIMITER //
mysql> create procedure test(IN input int)
   -> BEGIN
   -> If input > 100 then
   -> call Hello_Stored_Procedure();
   -> else
   -> call Hi_Stored_Procedure();
   -> end If ;
   -> END
   -> //
Query OK, 0 rows affected (0.18 sec)

이제 call −

의 도움으로 저장 프로시저를 호출할 수 있습니다.
mysql> delimiter ;
mysql> call test(110);

이것은 다음과 같은 출력을 생성합니다 -

+----------------+
| Hello World!!! |
+----------------+
| Hello World!!! |
+----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)