[GENERAL] 'Select INTO in Execute (dynamic query )

2005-04-18 Thread Dinesh Pandey








Hi



Whats wrong with this code (ERROR: syntax error at or near
INTO at character 8)?



Problem: I want to put A1, A2 values in two variables
vara, varb.



CREATE OR REPLACE FUNCTION test(text) 

RETURNS VARCHAR AS $$

Declare

 vara
 VARCHAR(10) :='';

 varb
 VARCHAR(10) :='';

  result
VARCHAR(10) :='Result';

  

BEGIN  

  EXECUTE(

  'Select INTO vara, varb A1, A2 from '|| $1 

  );

  

RETURN result||': '|| vara ||' '|| varb;



END;

$$ LANGUAGE plpgsql;





Regards
Dinesh Pandey













Re: [GENERAL] 'Select INTO in Execute (dynamic query )

2005-04-18 Thread Tom Lane
Dinesh Pandey [EMAIL PROTECTED] writes:
 What's wrong with this code (ERROR:  syntax error at or near INTO at
 character 8)?

You can't use plpgsql's SELECT INTO in an EXECUTE'd command, because
SELECT INTO means something entirely different to the main SQL engine.

The usual workaround is to use FOR ... IN EXECUTE.  See the plpgsql docs.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org