Sql 检查触发器中的未来日期
如果用户试图用未来日期替换当前日期,我想启动触发器。但触发器中可能不允许使用子查询。我如何解决这个问题?任何建议Sql 检查触发器中的未来日期,sql,oracle,plsql,database-trigger,Sql,Oracle,Plsql,Database Trigger,如果用户试图用未来日期替换当前日期,我想启动触发器。但触发器中可能不允许使用子查询。我如何解决这个问题?任何建议 CREATE OR REPLACE TRIGGER check_join_date BEFORE UPDATE OF join_date ON DOCTOR FOR EACH ROW WHEN (NEW.join_date > (SELECT CURRENT_DATE+1 FROM DUAL) ) BEGIN
CREATE OR REPLACE TRIGGER check_join_date
BEFORE UPDATE OF join_date ON DOCTOR
FOR EACH ROW
WHEN (NEW.join_date > (SELECT CURRENT_DATE+1 FROM DUAL) )
BEGIN
RAISE_APPLICATION_ERROR(-20509,'Do not Enter Future Date..');
END check_join_date;
/
我在Oracle中运行此代码后出现此错误
ORA-02251: subquery not allowed here
测试这个
CREATE OR REPLACE TRIGGER check_join_date
BEFORE UPDATE OF join_date ON DOCTOR
FOR EACH ROW
WHEN (NEW.join_date > CURRENT_DATE+1)
BEGIN
RAISE_APPLICATION_ERROR(-20509,'Do not Enter Future Date..');
END check_join_date;
/
测试这个
CREATE OR REPLACE TRIGGER check_join_date
BEFORE UPDATE OF join_date ON DOCTOR
FOR EACH ROW
WHEN (NEW.join_date > CURRENT_DATE+1)
BEGIN
RAISE_APPLICATION_ERROR(-20509,'Do not Enter Future Date..');
END check_join_date;
/