我在表上有一个“更新前触发器”。如何设置列的默认值? :
CREATE OR REPLACE FUNCTION trigger() RETURNS TRIGGER AS
$$
TD["new"]["test"] = DEFAULT # Doesn't work
$$ LANGUAGE plpython2u VOLATILE;
答案 0 :(得分:0)
...您可以从Python函数返回None或“ OK”以指示 该行未修改,单击“跳过”可中止事件,或单击“修改”表示您已修改新行。
答案 1 :(得分:0)
我认为没有办法做到这一点,因为默认值是在之前被调用的。
对于简单的默认值(常量),您可以通过在adsrc
的相应条目中查找pg_catalog.pg_attrdef
列并使用它来解决此问题,但这肯定不是漂亮的解决方案。