表FOO
包含A and B
列
表BAR
包含X, Y and Z
列。
我有一个函数func
,它返回表BAR
的ROWTYPE
FUNCTION func(arg1, arg2) RETURNS BAR
我想做这样的事情
select A,B, func(A,B).X from FOO;
但它失败并出现以下错误:
syntax error at or near "."
但是,如果我在函数后面没有使用.<column_name>
,那么它会将函数返回的整个RECORD序列化为文本。
如何选择X
而不是所有组成字段?
答案 0 :(得分:2)
找到它。
您需要将函数调用括在括号中,然后使用.
这失败了:
select A,B, func(A,B).X from FOO;
这有效:
select A,B, (func(A,B)).X from FOO;