Thread: EXECUTE SELECT INTO... last one!
PgSql8.1beta2 gives me this: ERROR: EXECUTE of SELECT ... INTO is not implemented yet CONTEXT: PL/pgSQL function "_rndbroj" line 5 at execute statement Shall I forget about this once and for all (and use FOR construct), or there is a chance that will be 'fixed'? Mario -- Mario Splivalo Mob-Art mario.splivalo@mobart.hr "I can do it quick, I can do it cheap, I can do it well. Pick any two."
On Fri, Sep 30, 2005 at 10:00:35AM +0200, Mario Splivalo wrote: > PgSql8.1beta2 gives me this: > > ERROR: EXECUTE of SELECT ... INTO is not implemented yet > CONTEXT: PL/pgSQL function "_rndbroj" line 5 at execute statement Could you post a simple example of what you're trying to do? The following works for me in 8.1beta2 (from CVS): CREATE FUNCTION mycount(text) RETURNS bigint AS $$ DECLARE query text; cnt bigint; BEGIN query := 'SELECT count(*) FROM ' || quote_ident($1); EXECUTE query INTO cnt; RETURN cnt; END; $$ LANGUAGE plpgsql; SELECT mycount('pg_class');mycount --------- 188 (1 row) -- Michael Fuhr
On Fri, 2005-09-30 at 02:34 -0600, Michael Fuhr wrote: > On Fri, Sep 30, 2005 at 10:00:35AM +0200, Mario Splivalo wrote: > > PgSql8.1beta2 gives me this: > > > > ERROR: EXECUTE of SELECT ... INTO is not implemented yet > > CONTEXT: PL/pgSQL function "_rndbroj" line 5 at execute statement > > Could you post a simple example of what you're trying to do? The > following works for me in 8.1beta2 (from CVS): > > CREATE FUNCTION mycount(text) RETURNS bigint AS $$ > DECLARE > query text; > cnt bigint; > BEGIN > query := 'SELECT count(*) FROM ' || quote_ident($1); > EXECUTE query INTO cnt; > RETURN cnt; > END; > $$ LANGUAGE plpgsql; Yes, it's my fault. I was testing it on pg7.4. On 8.1beta2 works as you explained. Though it would be realy nice to be able to do var := col FROM tempTable WHERE condition withouth EXECUTE'ing and stuff. Sorry for the fuss I might have created. Mario -- Mario Splivalo Mob-Art mario.splivalo@mobart.hr "I can do it quick, I can do it cheap, I can do it well. Pick any two."