我的函数名称非常有用:has_useful_state(param)
。
我有第二个函数将返回这些结果的SETOF RECORD
:
CREATE OR REPLACE FUNCTION set_of_useful_things(param TEXT, OUT has_useful_state) RETURNS SETOF RECORD AS $_$
BEGIN
SELECT some_key, COUNT(has_useful_state(some_key)) FROM ....
无论如何,这是它脱轨的地方。该函数,其中has_useful_state
是返回列名称和提供它的函数的最佳名称,无法编译,如下所示:
SELECT some_key, COUNT( $1 (some_key)) FROM ....
显然,函数名称被视为别名......所以我怎样才能避免这种情况并保留我的有用函数和列名?
答案 0 :(得分:1)
你也可以坚持使用同名的两个变量,但大部分时间我们都要忍受彼此阴影的讨厌习惯。
简而言之,不,你不能,你必须改变其中一个(我的猜测是你会牺牲一个参数)。