Re: [GENERAL] execute if statement

2012-12-03 Thread John R Pierce
On 12/1/2012 11:59 AM, Peter Kroon wrote: I do not wish to create a function for each query I have. query's aren't IF statements. SELECT stuff FROM table WHERE conditions ;<= thats a query. -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to

Re: [GENERAL] execute if statement

2012-12-03 Thread Jasen Betts
On 2012-12-01, Peter Kroon wrote: > --f46d043be1f4bd2dec04cfcfbd6a > Content-Type: text/plain; charset=ISO-8859-1 > > M... > > How do I execute dynamic sql that starts with an if statement. "if" is not SQL. > I'm converting mssql code to pgsql. probably best to rewrite at a higher level

Re: [GENERAL] execute if statement

2012-12-01 Thread Raymond O'Donnell
On 01/12/2012 19:44, Peter Kroon wrote: > M... > > How do I execute dynamic sql that starts with an if statement. > I'm converting mssql code to pgsql. > Without trying it, I'd guess that you need to have the IF outside the dynamic code, something like this: if then execute '

Re: [GENERAL] execute if statement

2012-12-01 Thread Peter Kroon
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 ea

Re: [GENERAL] execute if statement

2012-12-01 Thread Peter Kroon
M... 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 > On 01/12/2012 19:11, Peter Kroon wrote: > > How can I achieve this? > > > > EXECUTE ' > > > > if 1=1 then > > raise notice ''%'', ''notice has been rais

Re: [GENERAL] execute if statement

2012-12-01 Thread Raymond O'Donnell
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