postgresql 以 json 形式触发新行

问题描述 投票:0回答:2

我正在编写一个触发器,需要将新行转换为 json 并插入到另一个表中。我没听懂。

     CREATE OR REPLACE FUNCTION public.eventlogs_add_user()
      RETURNS trigger AS

    $BODY$
    DECLARE newRecord JSON;
    BEGIN

    newRecord :=  row_to_json(row)
        from (NEW) row;


// Insert newRecord into another table


    RETURN NEW;
    END$BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    ALTER FUNCTION public.eventlogs_add_user()
      OWNER TO postgres;

    -----------------------------------------------------------
postgresql stored-procedures triggers
2个回答
13
投票

改变

newRecord :=  row_to_json(row)
        from (NEW) row;

newRecord :=  row_to_json(NEW.*);

应该有帮助


0
投票

因为 Trigger.NEW 已经是一行 您应该尝试将其按原样传递给 row_to_json

喜欢

row_to_json(NEW)
© www.soinside.com 2019 - 2024. All rights reserved.