I am trying to create a table that records the changes made to the estimated hours of another table. The database as a whole is a project management system for a company that assigns work to its employees and creates invoices for a client.
I currently have:
CREATE TABLE task_history ( task_history_id NUMBER(5), previous_est_hours NUMBER(3,1), change_date DATE, reason_for_change VARCHAR2(50), task_id NUMBER(5), CONSTRAINT TASKHIST_TASKHISTID_PK PRIMARY KEY (task_history_id), CONSTRAINT TASKHIST_TASKID_FK FOREIGN KEY (task_id) REFERENCES task(task_id), CONSTRAINT TASKHIST_TASKID_NN CHECK (task_id IS NOT NULL), CONSTRAINT TASKHIST_CHANGEDATE_NONFUTURE CHECK (change_date <= sysdate) );
change_date should not be a future date, it should be either today or in the past. The last check constraint is the problem. As far as I understand, you cannot use sysdate due to a reason that I forgot about, but you cannot. I also tried GETDATE () and every other option I found on the Internet. How can I do this seemingly simple task?
source share