Обсуждение: EXECUTE SELECT INTO... last one!

Поиск
Список
Период
Сортировка

EXECUTE SELECT INTO... last one!

От
Mario Splivalo
Дата:
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."




Re: EXECUTE SELECT INTO... last one!

От
Michael Fuhr
Дата:
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


Re: EXECUTE SELECT INTO... last one!

От
Mario Splivalo
Дата:
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."