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

Come utilizzare DELETE con la clausola EXCEPT?

Il motivo per cui non funziona è che stai effettivamente eseguendo due istruzioni in sequenza. Pensa al tuo codice più come:

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 vuoi modificare il Delete dichiarazione, devi seguirla con un Where , Join , ecc.

Per alcuni metodi alternativi per ottenere il risultato desiderato, vedere le eccellenti risposte su:Utilizzo di T-SQL EXCEPT con DELETE / Ottimizzazione di una query