2017-08-18 2 views
0

Je souhaite lancer un déclencheur si un utilisateur essaie de remplacer la date du jour par une date future. Mais la sous-requête peut ne pas être autorisée dans le déclencheur. Comment puis-je résoudre ce problème? Toute suggestion ....Vérifier la date future dans le déclencheur

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

Je reçois cette erreur après l'exécution de ce code dans Oracle.

ORA-02251: subquery not allowed here 

Répondre

3

Test cette

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

Il travaille maintenant. Merci.... :) –