wenas ....
en T -sQL
create procedure nombre
as
declare
---variables a utilizar
DECLARE cursor CURSOR FOR ( consulta para el cursor)
OPEN cursor --abrir el cursor
FETCH next from cursor INTO ((variables ya declaradas para ingresar al cursor)(cantidad de datos = a la de la consulta))
WHILE @@FETCH_STATUS = 0 --ingresa al cursor
BEGIN
(ciclo) (instrucciones )
FETCH next from cursor INTO ( lo mismo ya q es la ultima fila)
END
CLOSE cursor --cierra
DEALLOCATE cursor
-----------------------------------------------------------------------------------------
--- clientes es una tabla ,empresa otra y resumen otra .... ingresare codigo cliente,nombre cliente y el codigo de la empresa en la tabla resumen
create procedure ejemplo
as
declare
@codigo number,
@nombre varchar(100),
@codigo_empresa number
DECLARE cursor CURSOR FOR select cli_codigo,cli_nombre from clientes
OPEN cursor
FETCH next from cursor INTO @codigo,@nombre
WHILE @@FETCH_STATUS = 0
BEGIN
set @codigo_empresa =(select cod_emp from empresa where cli_cod =@codigo) ---aki tomo el valor del codigo y lo guardo en la variable@codigo_empresa
insert into resumen values (@codigo_empresa,@codigo,@nombre)
FETCH next from cursor INTO @codigo,@nombre
END
CLOSE cursor
DEALLOCATE cursor
----------bueno y esa es la logica en pl/sql cambia un poco
BEGIN
OPEN cpaises;
FETCH cpaises INTO co_pais,descripcion,continente;
WHILE cpaises%found
LOOP
UPDATE PAISES
SET CONTINENTE = CONTINENTE || '.'
WHERE CURRENT OF cpaises;
FETCH cpaises INTO co_pais,descripcion,continente;
END LOOP;
CLOSE cpaises;
COMMIT;
END;
--------------------------- PARA LA TABLA DE MEMORIA
declare @listaempleados table (
codigo int,
unidad varchar(100),
nombre varchar(100)
)
-----Y PUEDES TRABAJAR CON ELLA
------------------
espero que te sirva .. .cualquier duda me dices