PostgreSQL 中的更新后和更新前有什么区别?我无法理解 和 之间的区别after update,before update因为看起来该函数总是在更新之前执行。
所以我做了下面的例子:
我做了一个函数,当状态为typing但延迟 10 秒时更新表。
CREATE OR REPLACE FUNCTION fai_prueba()
RETURNS trigger AS
$BODY$
begin
if new.status = 'Typing' then
update image set status = 'ToTyping', path = 'Real path' from pg_sleep(5) where id = old.id;
end if;
return null;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION fai_prueba()
OWNER TO postgres;
Run Code Online (Sandbox Code Playgroud)
然后我有以下触发器
create trigger tai
after update on image
for each row execute procedure fai_prueba();
Run Code Online (Sandbox Code Playgroud)
但是当我运行 UPDATE …