Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

È possibile eliminare da più tabelle nella stessa istruzione SQL?

No, dovresti eseguire più istruzioni.

Poiché devi eliminare da due tabelle, considera la creazione di una tabella temporanea con gli ID corrispondenti:

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

E quindi elimina da ciascuna delle tabelle:

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

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