¿QUE ES UN CURSOR Y PARA QUE SIRVE?

Cursores en PL/SQL


PL/SQL utiliza cursores para gestionar las instrucciones SELECT. Un cursor es un conjunto de registros devuelto por una instrucción SQL. Técnicamente los cursores son fragmentos de memoria que reservados para procesar los resultados de una consulta SELECT.  
   Podemos distinguir dos tipos de cursores:
  • Cursores implicitos. Este tipo de cursores se utiliza para operaciones SELECT INTO. Se usan cuando la consulta devuelve un único registro.
  • Cursores explicitos. Son los cursores que son declarados y controlados por el programador. Se utilizan cuando la consulta devuelve un conjunto de registros. Ocasionalmente también se utilizan en consultas que devuelven un único registro por razones de eficiencia. Son más rápidos. 
Un cursor se define como cualquier otra variable de PL/SQL y debe nombrarse de acuerdo a los mismos convenios que cualquier otra variable. Los cursores implicitos no necesitan declaración.
   El siguiente ejemplo declara un cursor explicito:


declare 
  cursor c_paises is
  SELECT CO_PAIS, DESCRIPCION
  FROM PAISES;
begin/* Sentencias del bloque ...*/
end;

   Para procesar instrucciones SELECT que devuelvan más de una fila, son necesarios cursores explicitos combinados con un estructura de bloque.
   Un cursor admite el uso de parámetros. Los parámetros deben declararse junto con el cursor.
   El siguiente ejemplo muestra la declaracion de un cursor con un parámetro, identificado por p_continente.


declare 
  cursor c_paises (p_continente IN VARCHAR2) is
  SELECT CO_PAIS, DESCRIPCION
  FROM PAISES
WHERE CONTINENTE = p_continente;
begin
/* Sentencias del bloque ...*/
end;

  

No hay comentarios.:

Publicar un comentario