sql server 2005: come mettere un vincolo non nullo su una colonna a seconda del valore nell'altra colonna?

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

  •  05-07-2019
  •  | 
  •  

Domanda

in una tabella due colonne sono fatturabili (bit), fatturabili (datetime) .Voglio che la data fatturabile non sia nulla se fatturabile non è nulla.

È stato utile?

Soluzione

Aggiungi un vincolo di controllo:

VERIFICA (fatturabile non è null e fatturabile non è null) OPPURE (fatturabile non è null)

Altri suggerimenti

È necessario un vincolo di controllo

ALTER TABLE dbo.Table CON NOCHECK
      AGGIUNGI VINCITORE CK_Table_BusinessRule       CHECK (Fatturabile NON È NULL E BillableDATE NON È NULL)

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

Proverei ad aggiungere un trigger alla tabella, dopo l'inserimento e dopo l'aggiornamento, per applicare quel vincolo. Verifica il valore fatturabile e blocca l'inserimento / aggiornamento nel caso in cui non sia nullo e il valore fatturabile sia nullo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top