07/12/2007, 10:10
|
| | Fecha de Ingreso: diciembre-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes Puntos: 0 | |
Re: Cursores, Tablas Temporales Y Pesadillas Hola, yo tengo un problema un tanto raro
necesito hacer una funcion que cree una tabla temporal, pero me sale un error:
ERROR: cannot open SELECT INTO query as cursor
CONTEXT: PL/pgSQL function "compmarca" line 23 at open
La consulta esta bien, porque cuando la hago a parte, si me crea la tabla y la llena, algo tiene que ver con la llamada al cursor. si pueden ayudarme les agradecería.
CREATE OR REPLACE FUNCTION "reportes"."compmarca" (varchar, varchar, varchar, varchar) RETURNS SETOF boolean AS
$body$
declare
categoria alias for $1;
campana alias for $2;
fechaini alias for $3;
fechafin alias for $4;
cursor1 refcursor;
consulta varchar;
begin
consulta:='CREATE TEMP TABLE compxmarca as
select comp.* from (
select * from reportes.compxmarca('''||categoria||''','''||campa na||''',''tv'','''||fechaini||''','''||fechafin||' '')
union
select * from reportes.compxmarca('''||categoria||''','''||campa na||''',''rd'','''||fechaini||''','''||fechafin||' '')
union
select * from reportes.compxmarca('''||categoria||''','''||campa na||''',''pr'','''||fechaini||''','''||fechafin||' '')
union
select * from reportes.compxmarca('''||categoria||''','''||campa na||''',''rv'','''||fechaini||''','''||fechafin||' '')
union
select * from reportes.compxmarca('''||categoria||''','''||campa na||''',''su'','''||fechaini||''','''||fechafin||' '')
) as comp;';
open cursor1 for execute consulta;
close cursor1;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; |