Estoy tratando de verificar agregue la siguiente restricción pero Oracle devuelve el error que se muestra a continuación.Usar fecha en una restricción de verificación, Oracle
ALTER TABLE Table1
ADD (CONSTRAINT GT_Table1_CloseDate
CHECK (CloseDate > SYSDATE),
CONSTRAINT LT_Table1_CloseDate
CHECK (CloseDate <= SYSDATE + 365)),
CONSTRAINT GT_Table1_StartDate
CHECK (StartDate > (CloseDate + (SYSDATE + 730))));
error:
Error report:
SQL Error: ORA-02436: date or system variable wrongly specified in CHECK constraint
02436. 00000 - "date or system variable wrongly specified in CHECK constraint"
*Cause: An attempt was made to use a date constant or system variable,
such as USER, in a check constraint that was not completely
specified in a CREATE TABLE or ALTER TABLE statement. For
example, a date was specified without the century.
*Action: Completely specify the date constant or system variable.
Setting the event 10149 allows constraints like "a1 > '10-MAY-96'",
which a bug permitted to be created before version 8.
Tenga en cuenta que para el segundo "restricción" LT_Table1_CloseDate, se puede utilizar una restricción de comprobación en 11g usando columnas virtuales (http://rwijk.blogspot.com/2007/12/check- constraints-with-sysdate.html) –