Search Postgresql Archives

Re: variable value in array_to_string

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

 



My bad on the back tick. No idea why it turned that way

OK got that David. 

The idea is that I have the pk columns in an array which I would like to manipulate from the array itself rather than running same query variations multiple times

For example I get in foo

{item_id,show_id}

And from here on I was looking to get say

a.item_id , a.show_id 

and all sort of variations

Thanks for help




On Nov 21, 2016, at 4:26 PM, David G. Johnston <david.g.johnston@xxxxxxxxx> wrote:

On Mon, Nov 21, 2016 at 3:09 PM, Armand Pirvu (home) <armand.pirvu@xxxxxxxxx> wrote:
Hi

Is there anyway I can pass a variable in the array_to_string function ?


​Yes, just like you can pass variables to any other function.​..


CREATE OR REPLACE FUNCTION test1 () RETURNS void AS $$
​​
DECLARE
foo text;
foo1 text;
begin
execute
'select ARRAY( SELECT d.COLUMN_NAME::text  from information_schema.constraint_table_usage c, information_schema.key_column_usage d '
||
'where c.constraint_name=d.constraint_name and c.table_name=d.table_name and c.table_schema='
||
quote_literal(‘myschema')
||
' and c.table_schema=d.table_schema and c.constraint_name like '
||
quote_literal('%_pkey%')
||
') ' into foo;
raise notice '%', foo;
foo1 :=ARRAY_TO_STRING(foo, ', ');
raise notice '%', foo1;
END;
$$ LANGUAGE plpgsql ;


The idea is that I want to slice and dice and not run the query x amount of times


I would suggest you learn to use the "format()" function, EXECUTE USING,​ and dollar quoting.


So, I copy-pasted your example and placed it into a DO block

The character before "myschema" came out as a back-tick instead of a single-quote.

array_to_string has the signature (text[], text) but you've defined foo as being just text.  Changing that results in a query that executes - though given my system doesn't have conforming data I get no results.

David J.


[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