Re: Array value from table as parameter

From: "Charles Clavadetscher" <clavadetscher(at)swisspug(dot)org>
To: "'Aislan Luiz Wendling'" <aislanluiz(at)hotmail(dot)com>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: Array value from table as parameter
Date: 2016-07-22 12:31:11
Message-ID: 006901d1e414$f48f35c0$ddada140$@swisspug.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello

> From: pgsql-general-owner(at)postgresql(dot)org [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of Aislan Luiz Wendling
> Sent: Mittwoch, 20. Juli 2016 19:17
> To: pgsql-general(at)postgresql(dot)org
> Subject: [GENERAL] Array value from table as parameter
>
> Hi,
>
> I need to pass an array as a parameter in a function, but it is a part of a trigger that get a "new" value.
>
> I've tested it like 
>
> select function_x(10000,555555,array[['xxxxx'],['yyyyy']]) 
> or
> select function_x(10000,555555,array[['xxxxx','yyyyy']]) 
>
> and it worked.
>
> But if I use 
>
> select function_x(10000,555555,new.situations)
>
> it doesn't work, as the value comes like this: {"xxxxx","yyyyy"}
> I couldn't find a function that converts {} values back to [] without treat it as a string and use replace, what I think that is
not the ideal solution because it may can't satisfy more complex arrays.

Would it help to simply cast the argument to TEXT[]?

select function_x(10000,555555,(new.situations)::TEXT[]);

I am not sure if the extra parenthesis are necessary.

Regards
Charles

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message John R Pierce 2016-07-23 00:24:03 yum repo, pgloader
Previous Message Alex Ignatov 2016-07-22 11:14:24 Re: pg_dump without any SET command in header of output plain text sql file