Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Conflit de clé étrangère SQL Server dans une instruction multi-valeurs ?

Vous pouvez transformer cela en une instruction SELECT pour rechercher les lignes qui ne correspondent pas.

En supposant que la colonne a référence la table other ce qui suit affichera les valeurs qui ne sont pas présentes dans l'autre tableau :

select *
from (
  values 
   (1, a, b), 
   (2, a, b), 
    ...
   (9999, a, b)
) t(num,a,b)
where not exists (select 1 
                  from other o 
                  where o.id = t.a);

Le select .. from ( values ) nécessite SQL Server 2012 ou une version plus récente - mais comme vous avez utilisé cette balise, vous devriez pouvoir l'utiliser.