Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ist es möglich, aus mehreren Tabellen in derselben SQL-Anweisung zu löschen?

Nein, Sie müssten mehrere Anweisungen ausführen.

Da Sie aus zwei Tabellen löschen müssen, sollten Sie erwägen, eine temporäre Tabelle mit den übereinstimmenden IDs zu erstellen:

SELECT U.Id INTO #RecordsToDelete
FROM Users U
   JOIN LinkingTable J ON U.Id = J.U_Id
...

Und dann aus jeder der Tabellen löschen:

DELETE FROM Users 
WHERE Id IN (SELECT Id FROM #RecordsToDelete)

DELETE FROM LinkingTable
WHERE Id IN (SELECT Id FROM #RecordsToDelete)