Postgresql 触发器函数,用于检查在单个列中更新的数据是否等于某个值
Postgresql trigger function that checks if data that's been updated in a single column is equal to something
我有一个 table A
,其中包含 3 列 id
、name
、price
。
我正在尝试在 postgres 中创建一个触发器,当 price
下的值是 updated/set 到 0 时触发。
如果值为 0,则删除整行。
我是 postgresql 的初学者,但我的 node.js 项目迫切需要它。
非常感谢任何帮助!
这很简单。
第一步是创建触发器逻辑。此示例从 a
if price = 0
中删除行。 id = NEW.id
将此删除限制为刚刚更改的行。
create or replace function zero_price_delete()
returns trigger language plpgsql
as $$
begin
delete from a where price = 0 and id = NEW.id;
return new;
end; $$;
然后在 insert
或 update
操作后将其指定为 A
上的 after
触发器。
create trigger zero_delete
after update or insert on a
for each row
execute procedure zero_price_delete();
我有一个 table A
,其中包含 3 列 id
、name
、price
。
我正在尝试在 postgres 中创建一个触发器,当 price
下的值是 updated/set 到 0 时触发。
如果值为 0,则删除整行。
我是 postgresql 的初学者,但我的 node.js 项目迫切需要它。 非常感谢任何帮助!
这很简单。
第一步是创建触发器逻辑。此示例从 a
if price = 0
中删除行。 id = NEW.id
将此删除限制为刚刚更改的行。
create or replace function zero_price_delete()
returns trigger language plpgsql
as $$
begin
delete from a where price = 0 and id = NEW.id;
return new;
end; $$;
然后在 insert
或 update
操作后将其指定为 A
上的 after
触发器。
create trigger zero_delete
after update or insert on a
for each row
execute procedure zero_price_delete();