我正在尝试将以下SQL创建查询转换为postgreSQL并被卡住..请帮助..
CREATE TABLE test (
testname varchar(40) NOT NULL,
testStartTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
我只是postgreSql的初学者,无法弄清楚如何将“on update”事物转换为postgreSql。是否可以使用触发器?如果是,请解释.. 提前谢谢。
答案 0 :(得分:1)
MySQL的ON UPDATE
子句是before触发器的简写,它将行的值保持为指定的值。所以,是的,您可以使用before触发器来实现相同的目标。
事实上,我模糊地回忆起在Postgres手册中为这个特定用例提到的内置触发器 - 但我似乎无法回忆起哪里。无论如何,它的要点是:
create function foo() returns trigger as $$
begin
new.testStartTime := now();
return new;
end;
$$ language plpgsql;
create trigger before update on bar
for each row execute procedure foo();
答案 1 :(得分:0)
这是Postgres中的an example of an update trigger。