[英]Does PERFORM inside of a trigger execute a function in the same transaction as the caller?
我遇到了一个这样定义的postgres触发器......
CREATE FUNCTION public.my_trigger_func() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
PERFORM my_other_func(NEW.my_val);
RETURN NULL;
END;
$$;
从其他帖子的答案中可以看出(我在 postgres 文档中找不到明确说明):
所有 PostgreSQL 触发器在与触发它们的事务相同的事务中执行。
但是,使用PERFORM
调用的 function my_other_func
同一个事务中运行? 或者它在这种情况下的行为是什么?
Postgres 版本:
select version();
version
------------------------------------------------------------------------------------------------------------------
PostgreSQL 12.7 (Debian 12.7-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.