Heim > Datenbank > MySQL-Tutorial > Können wir in MySQL mithilfe gespeicherter Prozeduren Datensätze gleichzeitig in zwei Tabellen einfügen?

Können wir in MySQL mithilfe gespeicherter Prozeduren Datensätze gleichzeitig in zwei Tabellen einfügen?

WBOY
Freigeben: 2023-08-25 21:01:13
nach vorne
1344 Leute haben es durchsucht

Können wir in MySQL mithilfe gespeicherter Prozeduren Datensätze gleichzeitig in zwei Tabellen einfügen?

Ja, Sie können gespeicherte Prozeduren zum Einfügen in zwei Tabellen in einer einzigen Abfrage verwenden. Lassen Sie uns zuerst eine Tabelle erstellen –

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

Hier ist die Abfrage zum Erstellen der zweiten Tabelle –

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)
Nach dem Login kopieren

Das Folgende ist die Abfrage zum Erstellen der gespeicherten Prozedur, die in die beiden oben erstellten Tabellen eingefügt werden soll –

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 ;
Nach dem Login kopieren

Jetzt rufen Sie mit Hilfe auf des CALL-Befehls Gespeicherte Prozedur -

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

Überprüft, ob Datensätze in zwei Tabellen eingefügt werden.

Die Abfrage zum Anzeigen aller Datensätze in der ersten Tabelle lautet wie folgt:

mysql> select *from DemoTable;
Nach dem Login kopieren

Dies erzeugt die folgende Ausgabe:

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1         | Tom              |
+-----------+------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren

Das Folgende ist die Abfrage zum Anzeigen aller Datensätze in der zweiten Tabelle:

mysql> select *from DemoTable2;
Nach dem Login kopieren

Das wird Erzeuge die folgende Ausgabe:

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

Das obige ist der detaillierte Inhalt vonKönnen wir in MySQL mithilfe gespeicherter Prozeduren Datensätze gleichzeitig in zwei Tabellen einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage