0

非常に便利な名前の関数があります: has_useful_state(param).

SETOF RECORDこれらの結果の s を返す 2 番目の関数があります。

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 ....

明らかに、関数名はエイリアスとして扱われています...どうすればこれを回避し、便利な関数と列名を保持できますか?

4

1 に答える 1

1

同じ名前の2つの変数を使用することを主張することもできますが、ほとんどの場合、お互いにシャドウイングするという厄介な習慣に我慢する必要があります。

要するに、いいえ、できません。そのうちの1つを変更する必要があります(私の推測では、パラメーターを犠牲にするでしょう)。

于 2009-09-28T20:49:27.550 に答える