create or replace trigger NEW_ALM_REMIND
  after insert on tspfi_alm_info_active  
  for each row
declare
  -- local variables here
begin
  if :new.alm_clr_time is null then
        
      exec DBMS_LOCK.sleep(500);
      NEW_ALM_REMIND_SMPRO;
  end if;
end NEW_ALM_REMIND;
----------------------Error: PLS-00103: 出现符号 "DBMS_LOCK"在需要下列之一时:
       :=.(@%;
       符号 ":=" 被替换为 "DBMS_LOCK" 后继续。
Line: 9
Text: exec DBMS_LOCK.sleep(500);

解决方案 »

  1.   

    NEW_ALM_REMIND_SMPRO 是个过程,我想在条件触发的时候,先休息延时5分钟,然后再自动执行那个过程
      

  2.   

    create or replace trigger NEW_ALM_REMIND
      after insert on tspfi_alm_info_active  
      for each row
    declare
      -- local variables here
    begin
      if :new.alm_clr_time is null then
            
          DBMS_LOCK.sleep(500);
          NEW_ALM_REMIND_SMPRO;
      end if;
    end NEW_ALM_REMIND;
      

  3.   

    此外,需要显示给这个触发器的拥有者授予执行dbms_lock的权限。