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

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)

  1. 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

  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) 挿入コマンド-を使用して、テーブ