sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo usar DELETE con la cláusula EXCEPT?

La razón por la que no funciona es que en realidad está ejecutando dos declaraciones secuencialmente. Piense en su código más como:

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 desea modificar el Delete declaración, debe seguirla con un Where , Join , etc

Para obtener algunos métodos alternativos para obtener el resultado que desea, consulte las excelentes respuestas en:Uso de T-SQL EXCEPTO con DELETE / Optimización de una consulta