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!