PostgreSQL 触发器、函数

创建触发器、函数
1、创建触发器
create or replace function addfun() returns trigger as $addfun$
begin
RETURN NULL;end;
$addfun$ LANGUAGE pluxsql;
 
CREATE TRIGGER triggername AFTER INSERT OR UPDATE OR DELETE ON mytabll FOR EACH ROW EXECUTE PROCEDURE addfun();
2、创建函数(存储过程)
(1) CREATE FUNCTION addfun(integer, integer) RETURNS integer
AS 'select $1 + $2;'
LANGUAGE SQL
IMMUTABLE
RETURNS NULL ON NULL INPUT;
(2)CREATE FUNCTION dup(int) RETURNS TABLE(f1 int, f2 text)
AS $$ SELECT $1, CAST($1 AS text) || ' is text' $$
LANGUAGE SQL;
create or replace function addfun1() returns integer as $addfun$ begin return null;end;
$addfun$ LANGUAGE pluxsql;
(3)撤销存储过程的权限
revoke EXECUTE on function uxdb.myproc2(integer,integer) from ccc;
(4)存储过程赋权
grant EXECUTE on function uxdb.myprocl(integer,integer) to ccc;
(5)修改存储过程所有者
alter function uxdb.addfun() owner to ccc;
(6)删除存储过程
drop function myproc1 (int4,int4);
3、触发器
(1)触发器的启用、禁用
alter table mytabll disable trigger all;(禁用所有触发器)
alter table mytabll disable trigger addfun;(禁用名为addfun的触发器)
alter table mytabll enable trigger all;(启用所有触发器)
alter table mytabll enable trigger addfun;(启用名为addfun的触发器)
(2)触发器的删除
drop trigger addfun on tablename cascade | restrict;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值