[Pgsql-ayuda] returns setof ... ERROR!!!

Alvaro Herrera alvherre@dcc.uchile.cl
Tue, 30 Sep 2003 17:30:48 -0400


On Tue, Sep 30, 2003 at 03:42:29PM -0500, sandrigo lezcano wrote:
> q puede estar mal ???
> en language 'sql' funciona!!!

>     return blabla;

No se por que pretendes que esto funcione... supongo que esto te sirve:

create or replace function funcion_blabla()
returns setof t3 as '
declare
     v_rec RECORD;
begin
    create temporary table blabla(num integer,
                 valor varchar(10),ref_t2 integer);
    FOR v_rec IN select * from t3 LOOP
        insert into blabla(num,valor,ref_t2)
              values(v_rec.num,v_rec.valor,v_rec.ref_t2);
        IF NOT FOUND THEN
           RAISE NOTICE ''ERROR!!!  '';
        END IF;
        RAISE NOTICE ''Insertando % - % -% '',
              v_rec.num,v_rec.valor,v_rec.ref_t2;
        RETURN NEXT v_rec;
    END LOOP;
    return;
end;
' language 'plpgsql';

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La rebeldía es la virtud original del hombre" (Arthur Schopenhauer)