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 行:选择 insert_aereo('{123, "ciao", "pippo"}');
               ^
提示:无法选择最佳候选函数。您可能需要添加显式类型转换。

我该如何解决?我究竟做错了什么?

4

1 回答 1

1

您对组合类型使用了错误的格式:

正确的格式是:

'{"(123, ciao, pippo)", "(...)"}

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

或数组[(1,'ciao','pippo')]::t[]

帕维尔

于 2010-09-13T11:26:12.057 回答