From: | Peter Kroon <plakroon(at)gmail(dot)com> |
---|---|
To: | rod(at)iol(dot)ie |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: execute if statement |
Date: | 2012-12-01 19:59:38 |
Message-ID: | CAOh+DOkeYvuj70XssBg9ALKpmuCfmVNv3xM48-6MOZm55vN=ew@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
To give a better idea:
DO $$
DECLARE v_string text = 'raise notice ''%'', ''this could be sql with if
statement...'';';
BEGIN
if 1=1 then
raise notice '%', ' first notice has been raised...';
end if;
EXECUTE v_string;--this fails
END;
$$
LANGUAGE plpgsql;
I do not wish to create a function for each query I have.
2012/12/1 Peter Kroon <plakroon(at)gmail(dot)com>
> Mmmmm.......
>
> How do I execute dynamic sql that starts with an if statement.
> I'm converting mssql code to pgsql.
>
>
> 2012/12/1 Raymond O'Donnell <rod(at)iol(dot)ie>
>
>> On 01/12/2012 19:11, Peter Kroon wrote:
>> > How can I achieve this?
>> >
>> > EXECUTE '
>> >
>> > if 1=1 then
>> > raise notice ''%'', ''notice has been raised...'';
>> > end if;
>> >
>> > ';
>>
>> I think EXECUTE used like this is available only in a function:
>>
>> create or replace function my_function()
>> returns void
>> as
>> $$
>> begin
>> execute ....
>> end;
>> $$
>> language plpgsql;
>>
>> In "ordinary" SQL, EXECUTE executes a prepared statement.
>>
>> Ray.
>>
>>
>> --
>> Raymond O'Donnell :: Galway :: Ireland
>> rod(at)iol(dot)ie
>>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Raymond O'Donnell | 2012-12-01 20:04:59 | Re: execute if statement |
Previous Message | Peter Kroon | 2012-12-01 19:44:15 | Re: execute if statement |