为什么我的SQL触发器语句没有出现在DBMS_OUTPUT中?

时间:2016-06-16 07:48:11

标签: sql oracle triggers

我试图了解触发器,但我收到了错误

  

错误(2,4):PL / SQL:忽略SQL语句

     

错误(2,8):PL / SQL:ORA-00922:缺少或无效选项

创建以下触发器时:

FROM ALTURAPESOESTILO AEP
INNER JOIN EXPERIENCIA EXP 
ON (EXP.exp_pri = AEP.idExp) 
INNER JOIN PRANCHA PRAN 
ON (PRAN.prancha_pri = AEP.idPrancha)

适用于下表:

CREATE TRIGGER TableTrigger
AFTER UPDATE ON TestTable
FOR EACH ROW
BEGIN
  set serveroutput on format wrapped;
  DBMS_OUTPUT.put_line('TABLE UPDATED!');
END;

我不知道该怎么做,有没有人有任何建议?

1 个答案:

答案 0 :(得分:0)

在触发器中使用DBMS_OUTPUT不是最佳做法。如果要查看已完成的操作,请创建日志记录表或审计历史记录表,或者为该表设置更新审计。

当您从SQLPlus或其他IDE运行PL / SQL过程或包时,DBMS_OUTPUT非常有用。

不同版本的SQL可能会也可能不会显示触发器缓冲区的输出。