无论如何,在 PostgreSQL 中,您可以将表(行)别名传递给函数,它将传递整个记录。
但是当你有一个表别名 x 和一个列名 x 时,当你指定 f(x) 时它不会知道是哪一个,抛出错误“ambiguous name x”或传递错误的。
显然很容易消除列名的歧义:只需在它的表别名之前:tx
但是,如果我想消除表别名的歧义怎么办?
简单示例:
select f(x) from (select 1 x) x
显然,我可以通过重命名表别名或列来避免发生这些冲突,但应该有一种方法可以说“!x”或“表 x”或任何强制引用表别名(或行变量)的方法。
您可以使用