【问题标题】:How do I refer to a data_table during an insert trigger function in postgres如何在 postgres 中的插入触发器函数期间引用 data_table
【发布时间】:2018-12-06 07:37:02
【问题描述】:

我正在使用 Postgresql 并尝试定义一个触发函数。每次将一行添加到一个特殊的表时,都应该从多个表中收集信息并在不同的行中添加一个 DS。

这就是我现在得到的。

CREATE FUNCTION tf_mdo.insert_new_package()
    RETURNS trigger
    LANGUAGE 'plpgsql'
    NOT LEAKPROOF 
AS $BODY$

insert into v_triple_o_view (offerer_id, location_id) 
            Values (new.id, foreigntables.id where foreigntables.offerer = new.id)
$BODY$ ;

ALTER FUNCTION tf_mdo.insert_new_package()
    OWNER TO myadmin;

现在我想在“location_id”中插入一个来自foreigntables 的特殊“id”。令人惊讶的是,它已经在提供者 new.id 中获得了。

这样做的正确语法是什么?

感谢您的帮助!

【问题讨论】:

    标签: postgresql plpgsql database-trigger


    【解决方案1】:

    使用 select 语句进行插入。

    insert into v_triple_o_view (offerer_id, location_id) 
                SELECT new.id, f.id FROM foreigntables f where f.offerer = new.id
    

    【讨论】:

      猜你喜欢
      • 2010-10-03
      • 1970-01-01
      • 2021-12-21
      • 2013-05-16
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 2017-10-01
      • 2017-12-11
      相关资源
      最近更新 更多