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

MySQLストアドプロシージャで条件を設定する


ストアドプロシージャに条件を設定するには、MySQLでIF...ELSEを使用します。以下は、if-else-

の構文です。
IF yourCondition then
      yourStatement1,
 ELSE    
      yourStatement2,
 END IF;

上記の構文をストアドプロシージャに実装しましょう-

mysql> DELIMITER //
mysql> CREATE PROCEDURE IF_ELSE_DEMO(IN value int)
   -> BEGIN
   ->    SET @val=value;
   ->    IF @val > 10 then
   ->       select concat(@val,' is greater than 10');
   ->    ELSE
   ->        select concat(@val,' is less than 10 ');
   ->    END IF;
   -> END;
   -> //
Query OK, 0 rows affected (0.16 sec)
mysql> DELIMITER ;

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

mysql> call IF_ELSE_DEMO(18);

これにより、次の出力が生成されます-

+------------------------------------+
| concat(@val,' is greater than 10') |
+------------------------------------+
| 18 is greater than 10              |
+------------------------------------+
1 row in set (0.03 sec)
Query OK, 0 rows affected (0.04 sec)

  1. MySQLストアドプロシージャで数学演算を実行しますか?

    ストアドプロシージャを作成しましょう。ここでは、量*量を計算しています。つまり、数学演算を実装しています- mysql> delimiter // mysql> create procedure calculation_proc(amount int,quantity int)      begin      select amount,quantity,(amount*quantity) as Total;      end      // Query OK,

  2. MySQLストアドプロシージャのテーブルにデータを挿入しますか?

    ストアドプロシージャのテーブルに挿入するための構文は次のとおりです- create procedure yourProcedureName(OptionalParameter)    begin    insert into yourTableName() values(yourValue1,yourValue2,...N); end 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table DemoTable1928    (    Id int NOT NUL