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

Hvordan bruger man DELETE med EXCEPT-klausulen?

Grunden til, at det ikke virker, er, at du faktisk kører to sætninger sekventielt. Tænk på din kode mere som:

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;

Hvis du ønsker at ændre Delete sætning, skal du følge den med en Where , Join osv.

For nogle alternative metoder til at få det ønskede resultat, se de fremragende svar på:Brug af T-SQL UNDTAGET med DELETE / Optimering af en forespørgsel




  1. MySQL MariaDB – Forespørgsel ved hjælp af Temp-tabel

  2. Er det muligt at bruge et Array-objekt som en parameter i Spring Repository @Query-annotering?

  3. MySQL auto-inkrementer på en ikke-primær nøgle

  4. PLSQL CASE NÅR TILSTAND