Heim >Datenbank >MySQL-Tutorial >Wie lösche ich mit INNER JOIN aus mehreren Tabellen in SQL Server?
Löschen aus mehreren Tabellen mit INNER JOIN in SQL Server
Im Gegensatz zu MySQL unterstützt SQL Server die Syntax zum Löschen aus mehreren Tabellen nicht mit INNER JOIN. Es gibt jedoch alternative Methoden, um das gleiche Ergebnis zu erzielen.
Verwendung der „gelöschten“ Pseudotabelle
Betrachten Sie das folgende Codebeispiel:
begin transaction; declare @deletedIds table ( id int ); 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; delete from t2 from table2 as t2 inner join @deletedIds as d on d.id = t2.id; delete from t3 from table3 as t3 ... commit transaction;
Dieser Code verwendet die Pseudotabelle „gelöscht“, um die gelöschten IDs aus der ersten Löschanweisung zu speichern. Diese IDs werden dann in nachfolgenden Löschanweisungen verwendet, um die entsprechenden Zeilen aus anderen Tabellen zu löschen.
Weitere Überlegungen
Das obige ist der detaillierte Inhalt vonWie lösche ich mit INNER JOIN aus mehreren Tabellen in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!