[英]Postgresql trigger function syntax error
嗨,這是我在 pgAdmin3 postgresql 上的第一個觸發器函數,我嘗試過但已經放棄了,如果商品已售出,我想添加一個觸發器來填充 item_sold 表。 我正在對電子交易網站進行評估。
CREATE TRIGGER trPopulateItemSold()
AFTER UPDATE ON tradebay.item FOR EACH ROW
RETURN trigger AS $populate$
BEGIN
INSERT INTO item_sold (transaction_id, quantity, buyer_id, item_id) VALUES (transaction_id, NEW.quantity, buyer_id, NEW.item_id);
END;
LANGUAGE plpgsql;
SQL 錯誤:
ERROR: syntax error at or near "("
LINE 1: CREATE TRIGGER trPopulateItemSold()
^
您的CREATE TRIGGER
語法無效。 你誤解了它的工作原理。
觸發器的創建分兩步完成:
有關詳細信息和示例,請參閱 PostgreSQL 手冊:
你似乎試圖將兩者混為一談。 那不管用。 你需要:
CREATE OR REPLACE FUNCTION .... RETURNS trigger AS $$
$$;
CREATE TRIGGER ...;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.