Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment utiliser DELETE avec la clause EXCEPT ?

La raison pour laquelle cela ne fonctionne pas est que vous exécutez en fait deux instructions de manière séquentielle. Pensez à votre code plutôt :

DECLARE @ClientID varchar = 'ClientA'

DELETE FROM Global.dto.ClientUsers;

SELECT ClientID, UserID FROM Global.dto.ClientUsers WHERE [email protected]
EXCEPT
SELECT [email protected], UserID FROM ClientA_DB.dbo.Users;

Si vous souhaitez modifier le Delete déclaration, vous devez la faire suivre d'un Where , Join , etc.

Pour certaines méthodes alternatives pour obtenir le résultat souhaité, consultez les excellentes réponses sur :Utilisation de T-SQL EXCEPT avec DELETE / Optimisation d'une requête