简体   繁体   English

在触发器中检查将来的日期

[英]Check future date in trigger

I want to launch a trigger if a user try to replace current date with a future date.But subquery might not allowed in trigger. 如果用户尝试将当前日期替换为将来的日期,我想启动触发器。但是触发器中可能不允许使用子查询。 How can i solve this issue? 我该如何解决这个问题? Any suggestion.... 任何建议。

  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;
    /

I am getting this error after running this code in Oracle. 在Oracle中运行此代码后,出现此错误。

ORA-02251: subquery not allowed here

test this 测试这个

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;
    /

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM