1

私はPostgreSQL 9.1を使用しています.PostgreSQLに次のようなタイプがあるとしましょう:

CREATE TYPE sticker AS (
    customer_id integer,
    customer_machine_id integer,
);

タイプステッカーを返すget_stickerという名前のplpgsqlがあります...

私はこれをうまくやることができます:

select get_sticker(a_value), * from foo_bar;

しかし、これは結果をタプルで返します (これは完全に理にかなっています)。しかし、どうすれば列に変換 (基本的にアンパック) できますか?

以下のようなものになりそうですが、失敗します。

select get_sticker(a_value).*, * from foo_bar;  -- <<<< FAIL

エラーメッセージ:

ERROR: syntax error at or near "."
SQL state: 42601
4

1 に答える 1

0

余分な括弧のセットが必要です:

select (get_sticker(a_value)).*, * from foo_bar;
于 2012-10-11T23:36:33.840 に答える