Oracle SQL 在更新特定列后触发,如何在不引发应用程序错误的情况下打印一行?

Oracle SQL Trigger on After Update a certain column, How to print a line without raise application error?

我是 MySQL 的新手,现在我正在学习触发器。我有一个 table,table1。我正在尝试为地址列中执行的每个更新创建一个触发器,我还想打印一行而不引发应用程序错误。这是我的 table 的样子:

create table table1(
  2  ID varchar(9),
  3  Name char(25),
  4  DOB date,
  5  address varchar(20)
  6  )
  7  ;

当我更新地址时,我的触发器似乎没有打印任何输出。

CREATE OR REPLACE TRIGGER TR_UPDATE_ADDRESS
  2  AFTER UPDATE of address ON table1
  3  BEGIN
  4  dbms_output.put_line('Address Column is Updated Successfully');
  5  END;
  6  /

更新:

 update table1 set address =  '東京' where ID = '144131214';

输出:

1行が更新されました。 (1 row(s) updated).

要使用 DBMS_OUTPUT.PUT_LINE,您需要先执行 SET SERVEROUTPUT ON - 以启用将缓冲区打印到屏幕。

示例:

koen>update table1 set address = 'Belgium';

1 row updated.

koen>set serveroutput on size 999999
koen>update table1 set address = 'Belgium';
Address Column is Updated Successfully


1 row updated.

koen>