首页 > 解决方案 > Postgresql:生成的列作为函数的输出

问题描述

我试图创建一个生成的列。它应该是某个函数的输出,其参数作为其列之一,例如custom_function(column1)。其中custom_function 是postgresql 的用户定义函数,column1 是表的任何列。实际查询如下-

ALTER TABLE ttt.test
    ADD COLUMN "checkDigit" char GENERATED ALWAYS AS (ttt.getfunction(actual_sn)) STORED;

但收到错误“错误:生成表达式不是不可变的”

标签: postgresqlgenerated-columns

解决方案


它在使函数(ttt.getfunction)不可变后起作用。


推荐阅读