Cursores

Cursores


-- Function: sic_direccion.spu_seleccionadata(integer)

-- DROP FUNCTION sic_direccion.spu_seleccionadata(integer);

CREATE OR REPLACE FUNCTION sic_direccion.spu_seleccionadata()
RETURNS VOID
AS $BODY$

declare v_rs resultado%rowtype;
declare vvia_id integer ;
declare vvia_descripcion character varying(80);
declare vvia_cantidadden integer;
declare vvia_verificado boolean DEFAULT false;
declare vvia_filafecha character varying(10);
declare vvia_filaoriginal boolean DEFAULT true;
declare vvia_filaeliminada boolean DEFAULT false;
declare vusa_id integer DEFAULT 0;
declare v_cursor cursor for
SELECT via_id ,
via_descripcion,
via_cantidadden ,
via_verificado,
via_filafecha ,
via_filaoriginal ,
via_filaeliminada ,
usa_id
FROM sic_direccion.via;
declare sql_result record;

begin

open v_cursor ;

FETCH vcursor INTO vvia_id , vvia_descripcion , vvia_cantidadden, vvia_verificado , vvia_filafecha ,
vvia_filaoriginal, vvia_filaeliminada , vusa_id;
loop
--while found loop
EXIT WHEN NOt FOUND;
INSERT INTO sic_direccion.viaU (via_id, via_descripcion, via_cantidadDen, via_verificado, via_filaFecha, via_filaOriginal, via_filaEliminada, usa_id)
VALUES(vvia_id , vvia_descripcion , vvia_cantidadden, vvia_verificado , vvia_filafecha ,
vvia_filaoriginal, vvia_filaeliminada , vusa_id);
end loop;
close vcursor;

end;
$BODY$
LANGUAGE plpgsql;

Estoy iniciando en PostgreSQL, realice este cursor basando en algunas fuentes de la web, pero me reporta este error: falta from o IN, el señalando la linea donde hago v_cursor into campo;

Agradecería sus ayudas

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Cursores


-- Function: sic_direccion.spu_seleccionadata(integer)

-- DROP FUNCTION sic_direccion.spu_seleccionadata(integer);

CREATE OR REPLACE FUNCTION sic_direccion.spu_seleccionadata()
RETURNS VOID
AS $BODY$

declare v_rs resultado%rowtype;
declare vvia_id integer ;
declare vvia_descripcion character varying;
declare vvia_cantidadden integer;
declare vvia_verificado boolean ;
declare vvia_filafecha timestamp without time zone DEFAULT now();
declare vvia_filaoriginal boolean ;
declare vvia_filaeliminada boolean ;
declare vusa_id integer DEFAULT 0;

declare v_cursor cursor for
SELECT via_id ,
via_descripcion,
via_cantidadden ,
via_verificado,
via_filafecha ,
via_filaoriginal ,
via_filaeliminada ,
vusa_id
FROM sic_direccion.via;

begin

OPEN v_cursor ;
loop
FETCH v_cursor INTO
vvia_id ,
vvia_descripcion ,
vvia_cantidadden,
vvia_verificado ,
vvia_filafecha ,
vvia_filaoriginal,
vvia_filaeliminada ,
vusa_id;

--while found loop
EXIT WHEN NOt FOUND;

INSERT INTO sic_direccion.viaU (via_id, via_descripcion, via_cantidadDen, via_verificado, via_filaFecha, via_filaOriginal, via_filaEliminada, usa_id)
VALUES(vvia_id , vvia_descripcion , vvia_cantidadden, vvia_verificado , vvia_filafecha ,
vvia_filaoriginal, vvia_filaeliminada , vusa_id);

end loop;

close v_cursor;

-- return;

end;
$BODY$ LANGUAGE plpgsql volatile;

Disculpen la molestía solo era error de escritura

Enviar nuevo comentario

  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><h2><pre>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

Image CAPTCHA
Enter the characters shown in the image.