SQL Server 2005: comment mettre une contrainte non nulle sur une colonne en fonction de la valeur dans une autre colonne?

StackOverflow https://stackoverflow.com/questions/823481

  •  05-07-2019
  •  | 
  •  

Question

dans une table, deux des colonnes sont facturables (bit), billabledate (date / heure) .Je veux que la date facturable soit non nulle si facturable n’est pas nulle.

Était-ce utile?

La solution

Ajouter une contrainte de vérification:

CHECK (facturable n'est pas nul et billabledate n'est pas null) OR (facturable est nul)

Autres conseils

Vous avez besoin d'une contrainte de vérification

ALTER TABLE dbo.Table AVEC NOCHECK
      AJOUTER CONSTRAINT CK_Table_BusinessRule       CHECK (Billable N'EST PAS NUL ET BillableDate N'EST PAS NULL)

http://msdn.microsoft.com/ en-us / library / ms179491 (SQL.90) .aspx

J'essaierais d'ajouter un déclencheur à la table, après insertion et après mise à jour, pour appliquer cette contrainte. Vérifiez la valeur facturable et bloquez l’insertion / la mise à jour si elle n’est pas nulle et que la valeur facturée est nulle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top