Search Postgresql Archives

Re: Difficulty passing in an array of values to EXECUTE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



William Leite Araújo wrote:
>
> 2006/10/25, Richard Huxton <dev@xxxxxxxxxxxx <mailto:dev@xxxxxxxxxxxx>>:
>
>     Nick Rowlands wrote:
>     > Hi there,
>     >
>     > I'm having trouble creating a function using plpgsql. I cannot
>     pass the
>     > array 'productids' to the ANY construct of the IN EXECUTE SELECT
>     > statement. Any ideas on what I'm doing wrong would be most
>     appreciated.
>     > Here's the function:
>
>     >     FOR row IN EXECUTE 'SELECT p.id <http://p.id>, sku,
>     description, base_price,
>     > j.name <http://j.name> AS jname, r.name <http://r.name> AS rname
>     >     FROM products2 p
>     >     INNER JOIN jewellery_types j ON j.id <http://j.id> =
>     p.jewellery_type
>     >     INNER JOIN ranges r ON r.id <http://r.id> = p.range_id 
>
>
>       WHERE p.id <http://p.id> = ANY(
>     '|||array_to_string(|productids,',')||') '|| filter_jewellery LOOP
>
>
>  
>
>     EXECUTE takes a string, so you're giving it the word "productids" not
>     the contents of the variable with that name.
>
>     You'll need to generate a string containing comma-separated values (or
>     the array definition) and use that.
>     --
>        Richard Huxton
>        Archonet Ltd
>
>     ---------------------------(end of
>     broadcast)---------------------------
>     TIP 5: don't forget to increase your free space map settings
>
>
>
> -- 
> William Leite Araújo
Fantastic. Thank you very much.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux