Tengo una tabla definida por el siguiente SQL:restricción de comprobación de SQLite condicional?
CREATE TABLE test (
id integer PRIMARY KEY NOT NULL UNIQUE,
status text NOT NULL,
enddate date,
/* Checks */
CHECK (status IN ("Current", "Complete"))
);
Me gustaría añadir una restricción que requiere enddate
ser no nulo si la status
es "completa".
¿Esto es posible? Estoy usando SQLite v3.6.16.
Gracias, esto funciona. ¿Es esta la única manera? En el futuro, puedo tener una mayor cantidad de estados y el cheque podría crecer bastante. – Rezzie
Cuando las restricciones se vuelven muy complejas, el enfoque generalmente es colocar una capa en frente de la tabla para aplicarla. Al igual que una capa de procedimiento almacenado o una biblioteca de acceso a datos. – Andomar
Gracias por el consejo. – Rezzie