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 example@sqldat.com
EXCEPT
SELECT example@sqldat.com, 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