Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como usar DELETE com cláusula EXCEPT?


A razão pela qual não está funcionando é que você está realmente executando duas instruções sequencialmente. Pense no seu código mais 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;

Se você deseja modificar o Delete declaração, você precisa segui-la com um Where , Join , etc

Para alguns métodos alternativos para obter o resultado desejado, veja as excelentes respostas em:Usando T-SQL EXCEPT com DELETE / Otimizando uma consulta