postgresql创建的触发器没有被调用,求大神看看有什么问题

一枝梅比花娇 2017-03-14 12:49:33
触发器:
create or REPLACE function trg_a_t() returns trigger as $body$
begin
if (tg_op='insert') then

update a_t t1
set t1.resume_id_uuid = uuid_generate_v4(),
t1.acc_id_uuid = uuid_generate_v4()
where t1.resume_id = NEW.resume_id;

end if;
return null;
end;
$body$
LANGUAGE 'plpgsql';

create trigger trg_a_t after insert on a_t for each row
EXECUTE PROCEDURE trg_a_t();

执行的insert语句
insert into a_t(resume_id,acc_id,data) select resume_id,acc_id,data from t;

说明:将t表中的resume_id、acc_id、data三个字段的全部数据导入到表a_t中,同时(a_t表中还有resume_id_uuid和acc_id_uuid字段)生成两个UUID分别放入resume_id_uuid和acc_id_uuid中。可是当我执行inert语句后查看表中信息,发现那两个字段全部为null。
...全文
410 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

954

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧