获取修改列名称的触发过程

时间:2012-10-25 09:09:27

标签: postgresql

我一直在寻找一种方法来获取触发器函数内INSERT期间任何修改列的名称。我可以使用触发程序TG_TABLE_NAME修改表格,是否有类似的修改列?

1 个答案:

答案 0 :(得分:1)

不,列名不等于TG_TABLE_NAME。您需要比较old触发器中的newUPDATE记录。

对于INSERT触发器,“修改”列名称的概念甚至没有任何意义。你的意思是指不是默认值的列吗?

无论如何,您需要检查NEW和(适用的地方)OLD记录。这可能很难动态地完成。 hstore扩展名通常是最有用的工具,因为它允许您对未知行集的列进行比较和迭代。