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)
-
列の値をMySQLストアドプロシージャの変数に格納します
変数を宣言するには、MySQLストアドプロシージャでDECLAREを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2034 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentAge int -> ); Query OK, 0 rows
-
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) 挿入コマンド-を使用して、テーブ