Rumah >pangkalan data >tutorial mysql >Dalam MySQL, bolehkah kita menggunakan prosedur tersimpan untuk memasukkan rekod ke dalam dua jadual pada masa yang sama?

Dalam MySQL, bolehkah kita menggunakan prosedur tersimpan untuk memasukkan rekod ke dalam dua jadual pada masa yang sama?

WBOY
WBOYke hadapan
2023-08-25 21:01:131343semak imbas

Dalam MySQL, bolehkah kita menggunakan prosedur tersimpan untuk memasukkan rekod ke dalam dua jadual pada masa yang sama?

Ya, anda boleh menggunakan prosedur tersimpan untuk memasukkan ke dalam dua jadual dalam satu pertanyaan. Mari kita buat jadual dahulu −

mysql> create table DemoTable
(
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentFirstName varchar(20)
);
Query OK, 0 rows affected (0.56 sec)

Berikut ialah pertanyaan untuk mencipta jadual kedua-

mysql> create table DemoTable2
(
   ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ClientName varchar(20),
   ClientAge int
);
Query OK, 0 rows affected (0.76 sec)

Berikut ialah pertanyaan untuk mencipta prosedur tersimpan untuk memasukkan ke dalam dua jadual yang dibuat di atas-

mysql> DELIMITER //
   mysql> CREATE PROCEDURE insert_into_twoTables(name varchar(100),age int)
      BEGIN
         INSERT INTO DemoTable(StudentFirstName) VALUES(name);
         INSERT INTO DemoTable2(ClientName,ClientAge) VALUES(name,age);
      END
      //
   Query OK, 0 rows affected (0.14 sec)
mysql> DELIMITER ;

Sekarang hubungi dengan bantuan arahan CALL Prosedur Tersimpan -

mysql> call insert_into_twoTables('Tom',38);
Query OK, 1 row affected, 1 warning (0.41 sec)

Semak sama ada rekod dimasukkan ke dalam dua jadual.

Pertanyaan untuk memaparkan semua rekod dalam jadual pertama adalah seperti berikut-

mysql> select *from DemoTable;

Ini akan menghasilkan output berikut-

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1         | Tom              |
+-----------+------------------+
1 row in set (0.00 sec)

Berikut ialah pertanyaan untuk memaparkan semua rekod dalam jadual kedua:

mysql> select *from DemoTable2;

Ini akan menghasilkan output berikut-

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1        | Tom        | 38        |
+----------+------------+-----------+
1 row in set (0.00 sec)

Atas ialah kandungan terperinci Dalam MySQL, bolehkah kita menggunakan prosedur tersimpan untuk memasukkan rekod ke dalam dua jadual pada masa yang sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam