Oracle触发器参考例子
CREATE OR REPLACE TRIGGER ora_trigger AFTER UPDATE OR INSERT OR DELETE ON tab_x FOR each row
declare
...
begin
...
insert into tab_x ...;
end;
/
针对上面的例子,PostgreSQL里需要分两步来操作
1.先创建“触发器函数”
“触发器函数”是返回类型为trigger的函数,把上面的业务逻辑提取到下面的函数里面。
CREATE FUNCTION tigger_fun() RETURNS trigger AS $$
declare
...
begin
...
insert into tab_x ...;
end;
$$ language plpgsql;
2.创建触发器
下面procedure关键字后面指定上一步创建的触发器函数名。
create trigger tab_x_trigger
AFTER UPDATE OR INSERT OR DELETE on tab_x
for each row execute procedure tigger_fun();
3.触发器的查看
方式一:使用gsql工具连接后,通过表的定义上可以查看
\d+ tab_x
方式二:通过sql语句查询pg_trigger系统表
select * from pg_trigger where tgname='tab_x';