0
我的PostgresCURRENT_DATE PostgreSQL中觸發
CREATE OR REPLACE FUNCTION add_requestdate() RETURNS TRIGGER AS $$
DECLARE
BEGIN
new.requestdate := now();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER addrequestdate
BEFORE INSERT ON requests FOR EACH ROW EXECUTE PROCEDURE add_requestdate();
INSERT觸發器之前有,但它不工作!我有解決方案...
CREATE OR REPLACE FUNCTION add_requestdate() RETURNS TRIGGER AS $$
DECLARE
BEGIN
UPDATE requests SET requestdate=now() WHERE id=NEW.id;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER addrequestdate
BEFORE INSERT ON requests FOR EACH ROW EXECUTE PROCEDURE add_requestdate();
我只有一個問題。爲什麼new.requestdate := now();
不起作用?
出現什麼錯誤?在我的PostgreSQL 9.0版本中,第一個例子沒有問題。你可以放置表定義和你運行的SQL命令?你的PostgreSQL版本是? – doctore 2012-01-07 17:35:47
請定義「不起作用!」。如果'requests.id'不唯一 - 在具有相同'id'的其他行上,第二個觸發器只能有效。 'id'是唯一的嗎?是否還有其他觸發器? – 2012-01-08 02:32:04