Re: 'Select INTO" in Execute (dynamic query )

From: "Ramakrishnan Muralidharan" <ramakrishnanm(at)pervasive-postgres(dot)com>
To: <dpandey(at)secf(dot)com>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: 'Select INTO" in Execute (dynamic query )
Date: 2005-04-20 10:21:25
Message-ID: 02767D4600E59A4487233B23AEF5C5992A407C@blrmail1.aus.pervasive.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

It is not possible to access a local variable in EXECUTE Command and give a syntax error. FOR..IN..LOOP is the best option

CREATE OR REPLACE FUNCTION TestQry( vCon teXt )
RETURNS VARCHAR AS $$
DECLARE
var1 varchar(10);
var2 varchar(10);
result varchar( 20 );
rRec RECORD;
BEGIN

FOR rRec IN EXECUTE( 'SELECT A1,A2 FROM '||vCon ) LOOP
var1 = rRec.A1;
var2 = rRec.A2;
END LOOP;

RETURN VAR1||VAR2;

END;
$$ LANGUAGE 'plpgsql';

Regards,
R.Muralidharan.

-----Original Message-----
From: Dinesh Pandey [mailto:dpandey(at)secf(dot)com]
Sent: Monday, April 18, 2005 9:35 PM
To: pgsql-sql(at)postgresql(dot)org; pgsql-general(at)postgresql(dot)org
Subject: [SQL] 'Select INTO" in Execute (dynamic query )

Hi

What's 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

Browse pgsql-sql by date

  From Date Subject
Next Message amit kumar awasthi 2005-04-20 12:31:47 How to configure postgresql to accept TCP/IP connections
Previous Message Kai Hessing 2005-04-20 07:23:24 Re: can a function return a virtual table?