Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แทรกค่าในสองตารางด้วยการเรียกโพรซีเดอร์ที่เก็บไว้เพียงครั้งเดียวใน MySQL


ต่อไปนี้เป็นรูปแบบการแทรกค่าในสองตารางที่มีขั้นตอนการจัดเก็บ -

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)

ต่อไปนี้เป็นตารางที่สอง -

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

นี่คือแบบสอบถามเพื่อสร้างขั้นตอนการจัดเก็บและแทรกค่าในสองตาราง -

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)