Re: R: Re: R: Re: Weird EXECUTE ... USING behaviour - Mailing list pgsql-general

From Vincenzo Romano
Subject Re: R: Re: R: Re: Weird EXECUTE ... USING behaviour
Date
Msg-id 3eff28921001140710g39b30292l4a9276c3ae8d701f@mail.gmail.com
Whole thread Raw
In response to Re: R: Re: R: Re: Weird EXECUTE ... USING behaviour  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: R: Re: R: Re: Weird EXECUTE ... USING behaviour  (Vincenzo Romano <vincenzo.romano@notorand.it>)
Re: R: Re: R: Re: Weird EXECUTE ... USING behaviour  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-general
2010/1/14 Pavel Stehule <pavel.stehule@gmail.com>:
> 2010/1/14 Vincenzo Romano <vincenzo.romano@notorand.it>:
>> 2010/1/14 Adrian Klaver <adrian.klaver@gmail.com>:
>>> On Wednesday 13 January 2010 10:19:57 pm Vincenzo Romano wrote:
...
>> CREATE OR REPLACE FUNCTION f()
>> RETURNS VOID
>> LANGUAGE plpgsql
>> AS $function$
>> DECLARE
>>  cmd TEXT;
>> BEGIN
>>  EXECUTE '
>>    SELECT $l0$ALTER TABLE test ALTER COLUMN i SET DEFAULT $1 $l0$
>>  ' INTO cmd USING 42;
>>  RAISE INFO '%',cmd;
>> END;
>> $function$
>>
>> SELECT f();
>> INFO:  ALTER TABLE test ALTER COLUMN i SET DEFAULT $1
>>
>> The command to be executed is DML (SELECT). The substitution doesn't take place.
>
> yes. You cannot call SELECT 'ALTER ...'

SELECT 'ALTER ...' is to select a text string into a variable!
You mean the parse will give a look into my constant string to see
whether I'm trying to build a dynamic DDL command?
This would be awesome!

--
Vincenzo Romano
NotOrAnd Information Technologies
NON QVIETIS MARIBVS NAVTA PERITVS

pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: R: Re: R: Re: Weird EXECUTE ... USING behaviour
Next
From: Leif Biberg Kristensen
Date:
Subject: Re: Configuration Optimisation