Computer >> Máy Tính >  >> Lập trình >> MySQL

Chèn giá trị vào hai bảng bằng một lệnh gọi thủ tục được lưu trữ duy nhất trong MySQL

Sau đây là cú pháp để chèn các giá trị trong hai bảng với một thủ tục được lưu trữ -

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

Đầu tiên chúng ta hãy tạo một bảng -

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

Sau đây là bảng thứ hai -

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

Đây là truy vấn để tạo một thủ tục được lưu trữ và chèn các giá trị vào hai bảng -

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 ;

Bây giờ bạn có thể gọi thủ tục đã lưu trữ bằng lệnh CALL -

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

Hiển thị tất cả các bản ghi từ cả hai bảng bằng cách sử dụng câu lệnh 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)