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

MySQLで1回のストアドプロシージャ呼び出しを使用して、2つのテーブルに値を挿入します


以下は、ストアドプロシージャを使用して2つのテーブルに値を挿入するための構文です-

DELIMITER //
CREATE PROCEDURE yourProcedureName(anyVariableName int)
   BEGIN
   insert into yourTableName1(yourColumnName1) values(yourVariableName);
   insert into yourTableName2(yourColumnName2) values(yourVariableName);
   END
//

まずテーブルを作成しましょう-

mysql> create table DemoTable1
   -> (
   -> StudentScore int
   -> );
Query OK, 0 rows affected (0.58 sec)

以下は2番目の表です-

mysql> create table DemoTable2
   -> (
   -> PlayerScore int
   -> );
Query OK, 0 rows affected (0.52 sec)

これは、ストアドプロシージャを作成し、2つのテーブルに値を挿入するためのクエリです-

mysql> DELIMITER //
mysql> CREATE PROCEDURE insert_proc(value int )
   -> BEGIN
   -> insert into DemoTable1(StudentScore) values(value);
   -> insert into DemoTable2(PlayerScore) values(value);
   -> END
-> //
Query OK, 0 rows affected (0.16 sec)
mysql> DELIMITER ;

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

mysql> call insert_proc(89);
Query OK, 1 row affected (0.29 sec)

selectステートメント-

を使用して、両方のテーブルのすべてのレコードを表示します
mysql> select * from DemoTable1333;
+--------------+
| StudentScore |
+--------------+
|           89 |
+--------------+
1 row in set (0.00 sec)
mysql> select * from DemoTable1334;
+-------------+
| PlayerScore |
+-------------+
|          89 |
+-------------+
1 row in set (0.00 sec)

  1. 単一のMySQLクエリで列に複数の値を挿入するにはどうすればよいですか?

    列に複数の値を挿入するための構文は次のとおりです- insert into yourTableName values(yourValue1),(yourValue2),..........N; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2022    -> (    -> Department varchar(100)    -> ); Query OK, 0 rows affected (0.49 sec) 挿入コマンド-を使用して、

  2. MySQLストアドプロシージャで区切り文字を正しく使用して値を挿入するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable2028    -> (    -> StudentFirstName varchar(20),    -> StudentLastName varchar(20)    -> ); Query OK, 0 rows affected (0.87 sec) これは、ストアドプロシージャを作成し、値を挿入するためのクエリです(区切り文字を正しく使用して)- mysql> delimiter