Sql 错误(10,4):PLS-00103:遇到符号;“文件结束”;当预期以下情况之一时:结束而不是布拉格最终 在更新住院患者之前创建或替换触发器“验证DOA\U DOD” 每行 开始 如果:NEW.DOD

Sql 错误(10,4):PLS-00103:遇到符号;“文件结束”;当预期以下情况之一时:结束而不是布拉格最终 在更新住院患者之前创建或替换触发器“验证DOA\U DOD” 每行 开始 如果:NEW.DOD,sql,oracle,plsql,triggers,extract-error-message,Sql,Oracle,Plsql,Triggers,Extract Error Message,因此: 在更新住院患者之前创建或替换触发器“验证DOA\U DOD” 每行 声明 EX_无效_DOD例外; 开始 如果:NEW.DOD

因此:

在更新住院患者之前创建或替换触发器“验证DOA\U DOD”
每行
声明
EX_无效_DOD例外;
开始
如果:NEW.DOD<:OLD.DOA那么
--在这里输入代码
提高效率;
如果结束;
例外情况
当EX_无效时
dbms_output.put_line(“出院日期必须大于或等于入院日期”);
结束;

只需在最后一行中添加另一个
End
就可以了,现在面临此错误(错误(8,5):PLS-00103:遇到符号“WHEN”时,希望出现以下情况之一::=。(@%;)这是另一个问题!您需要完成代码。代码已完成plzz帮助您需要在WHEN之后添加以下内容之一::=(@%;)WHEN
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;
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;