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