Re: Difficulty passing in an array of values to EXECUTE
От | Richard Huxton |
---|---|
Тема | Re: Difficulty passing in an array of values to EXECUTE |
Дата | |
Msg-id | 453F4DE7.7010509@archonet.com обсуждение исходный текст |
Ответ на | Difficulty passing in an array of values to EXECUTE SELECT statement (Nick Rowlands <nick.rowlands@scotwebshops.com>) |
Ответы |
Re: Difficulty passing in an array of values to EXECUTE
|
Список | pgsql-general |
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, sku, description, base_price, > j.name AS jname, r.name AS rname > FROM products2 p > INNER JOIN jewellery_types j ON j.id = p.jewellery_type > INNER JOIN ranges r ON r.id = p.range_id > WHERE p.id = ANY(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
В списке pgsql-general по дате отправления: