2016-12-01 3 views
-2
create or replace TRIGGER "VALIDATE_DOA_DOD" BEFORE UPDATE ON IN_PATIENT 
FOR EACH ROW 
BEGIN 
    IF :NEW.DOD < :OLD.DOA THEN 


    enter code here 


RAISE EX_INVALID_DOD; 
    END IF; 

    EXCEPTIION 
    WHEN EX_INVALID_DOD THEN 
     dbms_output.put_line('Date Of Discharge must be greater or equal to Date of Admition'); 

END; 
+2

Fügen Sie einfach ein anderes 'Ende' in das endgültige – Sami

+0

DANKE JETZT MIT DIESEM FEHLER (Fehler (8,5): PLS-00103: Das Symbol" WENN "bei einem der folgenden erwartet:: =. (@%;) –

+0

Das ist eine andere Frage! , müssen Sie den Code vervollständigen – Sami

Antwort

0
  1. ersetzen die 'enter code here' mit etwas Sinnvolles Finale Pragma, oder entfernen
  2. bearbeiten EXCEPTIION in EXCEPTION
  3. erklären Ihre Ausnahme EX_INVALID_DOD

So:

create or replace TRIGGER "VALIDATE_DOA_DOD" BEFORE UPDATE ON IN_PATIENT 
FOR EACH ROW 
declare 
    EX_INVALID_DOD exception; 
BEGIN 
    IF :NEW.DOD < :OLD.DOA THEN 


    --enter code here 


    RAISE EX_INVALID_DOD; 
    END IF; 

    EXCEPTION 
    WHEN EX_INVALID_DOD THEN 
     dbms_output.put_line('Date Of Discharge must be greater or equal to Date of Admition'); 

END; 
Verwandte Themen