我正在尝试从一个记录变量中选择一列,并在更新规则中调用一个函数,但出现了以下错误:
“无法在记录数据类型中识别列'name'”
以下是我产生错误的方法:
在更新规则内部:
SELECT * INTO TEMPORARY TABLE TempTable FROM NEW;
SELECT MyFunction();
从MyFunction()内部
DECLARE RecordVar Record;
SELECT * INTO STRICT RecordVar FROM TempTable;
EXECUTE 'UPDATE AnotherTable SET column = $1.name' USING RecordVar;
注意:我意识到有更简单的方式来实现上述代码所实现的功能,但我已经简化了实际实现以便集中解决我遇到的问题,这也打开了其他可能的解决方案,但如果可能的话,我真的想让上述代码工作起来。