MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのストアドプロシージャにIfelseを実装しますか?


if-elseを実装するための構文は、次のとおりです-

if yourCondition then
     yourStatement1;
    else
    yourStatement2;
    end if ;

ストアドプロシージャのif-elseに関する上記の概念を理解するために、ストアドプロシージャを作成してみましょう-

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 ;

これで、callコマンドを使用してストアドプロシージャを呼び出すことができます-

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)
Query OK, 0 rows affected (0.00 sec)

  1. 列の値をMySQLストアドプロシージャの変数に格納します

    変数を宣言するには、MySQLストアドプロシージャでDECLAREを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2034    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentName varchar(20),    -> StudentAge int    -> ); Query OK, 0 rows

  2. MySQLストアドプロシージャ内に動的SQLクエリを実装しますか?

    ストアドプロシージャでの動的SQLクエリの場合は、PREPARESTATEMENTの概念を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2033    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Name varchar(20)    -> ); Query OK, 0 rows affected (1.61 sec) 挿入コマンド-を使用して、テーブ