SQL Server 2005: ¿cómo poner una restricción no nula en una columna dependiendo del valor en otra columna?

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

  •  05-07-2019
  •  | 
  •  

Pregunta

en una tabla, dos de las columnas son facturables (bit), billabledate (datetime). quiero que la fecha facturable no sea nula si la factura no es nula.

¿Fue útil?

Solución

Agregar una restricción de verificación:

CHECK (facturable no es nulo y billabledate no es nulo) O (facturable es nulo)

Otros consejos

Necesita una restricción de verificación

ALTER TABLE dbo.Table CON NOCHECK
      ADD CONSTRAINT CK_Table_BusinessRule       CHECK (Billable NO ES NULO y BillableDate NO ES NULL)

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

Intentaría agregar un desencadenante a la tabla, después de insertar y después de actualizar, para aplicar esa restricción. Verifique el valor facturable, y bloquee la inserción / actualización en caso de que no sea nulo y el billabledate sea nulo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top