2

私はこの機能を持っています:

create or replace function insert_aereo( aereo_type[] ) returns text as $$
begin
   return 'ok';
end
$$ language plpgsql;

これは私が作成したパラメータタイプです:

create type aereo_type as (codice int, modello varchar, marca varchar);

次に、関数を呼び出します。

select insert_aereo('{123, "ciao", "pippo"}');

しかし、私はこのエラーが発生します:

エラー: 関数 insert_aereo(unknown) は文字 8 で一意ではありません
ヒント: 最適な候補関数を選択できませんでした。明示的な型キャストを追加する必要がある場合があります。
ステートメント: select insert_aereo('{123, "ciao", "pippo"}');
エラー: 関数 insert_aereo(unknown) が一意ではありません
行 1: select insert_aereo('{123, "ciao", "pippo"}');
               ^
ヒント: 最適な候補関数を選択できませんでした。明示的な型キャストを追加する必要がある場合があります。

どうすれば修正できますか?私は何を間違っていますか?

4

1 に答える 1

1

構成された型に不適切な形式を使用しています:

正しい形式は次のとおりです。

'{"(123、チャオ、ピッポ)", "(...)"}

参照: http://www.postgresql.org/docs/8.4/interactive/rowtypes.html

または ARRAY[(1,'ciao','pippo')]::t[]

パベル

于 2010-09-13T11:26:12.057 に答える