小编ori*_*iaj的帖子

PostgreSQL 中的更新后和更新前有什么区别

PostgreSQL 中的更新后和更新前有什么区别?我无法理解 和 之间的区别after updatebefore 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 …

postgresql trigger functions

14
推荐指数
1
解决办法
8795
查看次数

标签 统计

functions ×1

postgresql ×1

trigger ×1