【发布时间】:2022-02-01 04:12:45
【问题描述】:
我的代码出现语法错误,我不明白为什么 我错过了什么吗? 另外,我读了这个我没有得到我的答案 syntax Error in PostgreSQL when I try to create Trigger
CREATE TRIGGER MyExampleName AFTER INSERT ON baskets
FOR EACH ROW BEGIN
UPDATE customers
SET customers.credit=customers.credit - NEW.amount
WHERE customers.id = NEW.customer_id;
END;
也尝试过这样的:
CREATE TRIGGER MyExampleName AFTER INSERT ON baskets
FOR EACH ROW AS $$ BEGIN
UPDATE customers
SET customers.credit=customers.credit - NEW.amount
WHERE customers.id = NEW.customer_id;
END;
$$ LANGUAGE plpgsql;
错误:
ERROR: syntax error at or near "BEGIN"
LINE 2: FOR EACH ROW BEGIN
^
SQL state: 42601
Character: 67
【问题讨论】:
-
请仔细阅读链接的问题。
CREATE TRIGGER不包括正文中的实际触发代码。你需要一个单独的CREATE FUNCTION一个完整的例子也可用in the manual -
您使用的是哪个 Postgres 版本?
-
@oxfist 我正在使用最新版本
标签: sql postgresql triggers plpgsql