我对存储过程一无所知。但是当表中的布尔列将值从false更改为true时,迫切需要运行更新sql。如果有人可以提供一个,将不胜感激。
提前致谢
答案 0 :(得分:1)
这是一个测试表
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
见