Heim >Datenbank >MySQL-Tutorial >Wie lösche ich Daten aus mehreren SQL Server-Tabellen mit INNER JOIN?
Löschen aus mehreren Tabellen mit INNER JOIN in SQL Server
In SQL Server können Sie die „gelöschte“ Pseudotabelle verwenden, um eine zu erreichen Ähnlicher Effekt wie die bereitgestellte MySQL-Syntax. Die folgenden Schritte beschreiben, wie Sie mit INNER JOIN aus mehreren Tabellen löschen:
Schritt 1: Öffnen Sie eine Transaktion
begin transaction;
Schritt 2: Erstellen Sie eine temporäre Transaktion Tabelle zum Speichern gelöschter IDs
declare @deletedIds table ( id int );
Schritt 3: Aus Tabelle löschen 1
Diese Abfrage löscht aus Tabelle 1 und gibt die gelöschten IDs in die @deletedIds-Tabelle aus.
delete from t1 output deleted.id into @deletedIds from table1 as t1 inner join table2 as t2 on t2.id = t1.id inner join table3 as t3 on t3.id = t2.id;
Schritt 4: Aus Tabelle 2 löschen
Diese Abfrage löscht aus Tabelle 2 unter Verwendung der in gespeicherten IDs @deletedIds.
delete from t2 from table2 as t2 inner join @deletedIds as d on d.id = t2.id;
Schritt 5: Wiederholen Sie den Vorgang für die verbleibenden Tabellen
Wiederholen Sie den Löschvorgang für alle weiteren Tabellen, die geändert werden müssen.
Schritt 6: Übernehmen Sie die Transaktion
commit transaction;
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie lösche ich Daten aus mehreren SQL Server-Tabellen mit INNER JOIN?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!