martes, 9 de agosto de 2011

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.

OPEN: Ejecuta la consulta asociada al cursor, se obtienen las filas y se situa el cursor en una posición antes de la primera fila: fila en curso.
FETCH: Introduce los valores de la fila en curso en las variables del bloque declaradas en el bloque.
CLOSE: Se libera el cursor.

Un ejemplo para crear un cursor es el siguiente:

0 comentarios:

Publicar un comentario