Re: get column name passed to a function - Mailing list pgsql-general

From Rob Sargent
Subject Re: get column name passed to a function
Date
Msg-id 50ABFEFE.2060804@gmail.com
Whole thread Raw
In response to Re: get column name passed to a function  (Adrian Klaver <adrian.klaver@gmail.com>)
List pgsql-general
On 11/20/2012 02:03 PM, Adrian Klaver wrote:
> On 11/20/2012 12:51 PM, Rob Sargent wrote:
>> On 11/20/2012 01:35 PM, Adrian Klaver wrote:
>>> On 11/20/2012 11:36 AM, Rhys A.D. Stewart wrote:
>>>> Greetings,
>>>>
>>>> I'm looking to obtain the name of a column that is passed to a function,
>>>> similar to xmlforest. Suggestions?
>>>
>>> This is going to require some more information.
>>>
>>> 1) What language is the function written in?
>>>
>>> 2) Trigger function or not?
>>>
>>> 3) A sample of the code?
>>>
>>>>
>>>> Regards,
>>>>
>>>>
>>>> Rhys
>>>
>>>
>>
>> Is this along the right line(s)?
>>
>>
>> create or replace function f(cname text) returns table(c text)
>> as
>> $$
>> declare
>>     v text;
>> begin
>>     select 'hello' into v;
>>     raise notice 'Column  name is %', v;
>>     execute 'select ' || v || ' as ' || cname;
>> end;
>> $$ language plpgsql;
>
> So what you are looking to do is build dynamic queries?
>
> If so take a look at:
>
> http://www.postgresql.org/docs/9.2/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
>
> In particular:
>
> Example 39-1. Quoting Values In Dynamic Queries
>
>>
>>
>>
>
>

A correction to earlier

create or replace function f(cname text) returns table(c text)
as
$$
declare
   v text;
begin
   raise notice 'Column  name is %', cname;
   execute 'select quote_literal(hello) ' || '  as ' || cname;
end;
$$ language plpgsql;



pgsql-general by date:

Previous
From: Gary Chambers
Date:
Subject: Re: timezone, how postgres deal with it?
Next
From: Tom Lane
Date:
Subject: Re: timezone, how postgres deal with it?