sábado, 5 de mayo de 2012

Tarea 3: Cursores Explicitos PL/SQL

Cursores Explicitos.

Un cursor explicito lo tenemos que declarar de la siguiente manera


 CURSOR <nombrecursor> IS <sentencia SELECT>;
Bucle LOOP con una sentencia EXIT condicionada.
set serveroutput on
Declare
cursor Lista is select employee_id, first_name, last_name from employees;
_id employees. employee_id%TYPE;
_nombre employees.first_name%TYPE;
_apellido employees.last_name%TYPE;
Begin
open Lista;
loop
     fetch Lista into _id,_nombre,_apellido;
     exit when Lista%NOTFOUND;
     dbms_output.put_line('ID: ' ||_id|| ' NOMBRE: ' ||_nombre|| ' APELLIDO: ' ||_apellido);
end loop;
close Lista;
exception
when others then
dbms_output.put_line(SQLERRM||'  Error en  la ejecución del programa'); 
end;
 **************************************************************************
Bucle WHILE LOOP
set serveroutput on
declare
Cursor Lista is select employee_id, first_name from employees;
_id employees.employee_id%TYPE
_nombre employees.first_name%TYPE;
_apellido employees. last_name%TYPE;
begin
open Lista;
  fetch Lista into _id,_nombre,_apellido;
  while Lista%FOUND
loop
     fetch Lista into _id,_nombre,v+_apellido;
     exit when Lista%NOTFOUND;
     dbms_output.put_line('ID: ' ||_id|| ' NOMBRE: ' ||_nombre|| ' APELLIDO: ' ||_apellido);
end loop;
close Lista;
exception
when others then
  dbms_output.put_line(SQLERRM||'  Error en  la ejecución del programa');
end;
 ********************************************************************
 Bucle FOR LOOP


set serveroutput on 
declare
Cursor Lista is select employee_id, first_name, last_name from employees;
Begin
For Empleado in Lista
Loop
   dbms_output.put_line('id: ' ||empleado.employee_id|| ' name: ' ||empleado.first_name|| ' lastName' ||empleado.last_name);
End Loop;
Exception
when others then
  dbms_output.put_line(SQLERRM||'  Error en  la ejecución del programa');
End;

No hay comentarios:

Publicar un comentario