我对存储过程一无所知。但是当表中的布尔列将值从 false 更改为 true 时,迫切需要运行更新 sql。如果有人可以提供一个,将不胜感激。
提前致谢
这是一个测试表
CREATE TABLE test20120524
(
id integer NOT NULL,
bool boolean,
comment_by_trigger text,
CONSTRAINT pk_test20120524 PRIMARY KEY (id)
)
WITH (
OIDS=TRUE
);
这是一个示例触发函数。OLD
并且NEW
是预先声明的变量,表示更新的行。
create or replace function test1() returns opaque as
'
declare
-- some variables
begin
if OLD.bool = false and NEW.bool = true then
NEW.comment_by_trigger = ''affected by trigger'';
end if;
return NEW;
end;
' language 'plpgsql';
然后,创建触发器。
CREATE TRIGGER test2
BEFORE UPDATE
ON test20120524
FOR EACH ROW
EXECUTE PROCEDURE test1();
存储过程并不难。可以在 PostgreSQL 官方文档中轻松学习:http ://www.postgresql.org/docs/9.1/interactive/index.html
看