【问题标题】:Create trigger in Postgres在 Postgres 中创建触发器
【发布时间】:2018-04-04 04:35:43
【问题描述】:

我有两张表 A 和 B。A 有以下列: a_name, a_num, a_addr。 B 也有这些列。

每当我在 A 中插入一条记录时,我都希望通过使用触发器将该记录也插入到 B 中。

【问题讨论】:

    标签: sql postgresql insert database-trigger


    【解决方案1】:
    CREATE OR REPLACE FUNCTION trigger()
      RETURNS trigger AS
    $BODY$
    begin
    if tg_op='INSERT' then
    insert into b values (new.a_name ,new.a_num ,new.a_addr);
    return new;
    end if;
    return null;
    end;
    $BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    
    ---------------------------
    CREATE TRIGGER trigger_a
      AFTER INSERT OR UPDATE
      ON a
      FOR EACH ROW
      EXECUTE PROCEDURE trigger();
    

    【讨论】:

    • 嗨,阿南德。非常感谢您的回复。现在完全有道理。但是,我在创建触发函数时出现错误,如ERROR: syntax error at or near "begin" LINE 10: begin
    • 我再次编辑了答案。请再过一遍。
    • 太棒了。它正在工作.. 但是,您的插入查询中还有另一个小错误,即用逗号分隔值。谢谢@Anand
    猜你喜欢
    • 2021-08-18
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    相关资源
    最近更新 更多