MySQLストアドプロシージャにDELETEクエリを実装する
ストアドプロシージャを使用して、パラメータを介して値を渡すことができます。まずテーブルを作成しましょう-
mysql> create table DemoTable1464 -> ( -> Id int, -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.51 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1464 values(101,'Chris Brown'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1464 values(102,'John Doe'); Query OK, 1 row affected (0.09 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1464;
これにより、次の出力が生成されます-
+------+-------------+ | Id | FirstName | +------+-------------+ | 101 | Chris Brown | | 102 | John Doe | +------+-------------+ 2 rows in set (0.00 sec)
ストアドプロシージャに削除クエリを実装するためのクエリは次のとおりです-
mysql> DELIMITER // mysql> CREATE PROCEDURE delete_demo(IN local_Id int, IN local_Name varchar(20)) -> BEGIN -> delete from DemoTable1464 -> where Id=local_Id and -> FirstName=local_Name; -> END // Query OK, 0 rows affected (0.24 sec) mysql> DELIMITER ;
これで、CALLコマンドを使用してストアドプロシージャを呼び出すことができます-
mysql> call delete_demo(102,'John Doe'); Query OK, 1 row affected, 1 warning (0.11 sec)
テーブルレコードをもう一度確認しましょう-
mysql> select * from DemoTable1464;
これにより、次の出力が生成されます-
+------+-------------+ | Id | FirstName | +------+-------------+ | 101 | Chris Brown | +------+-------------+ 1 row in set (0.00 sec)
-
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) &n
-
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) 挿入コマンド-を使用して、テーブ