Cursor en SQL
Para ejecutar sentencias SQL, el motor de Oracle utiliza un área de trabajo para su procesamiento interno y almacenamiento de la información. Esta área de trabajo es privada para las operaciones de SQL. El ‘Cursor’ es la construcción PL/SQL que permite al usuario nombrar el área de trabajo y acceder a la información almacenada en ella.
Uso del cursor
La función principal de un cursor es recuperar datos, una fila a la vez, de un conjunto de resultados, a diferencia de los comandos SQL que operan en todas las filas del conjunto de resultados a la vez. Los cursores se utilizan cuando el usuario necesita actualizar registros de forma única o fila por fila, en una tabla de base de datos.
Los datos que se almacenan en el cursor se denominan conjunto de datos activos . Oracle DBMS tiene otra área predefinida en el Conjunto de memoria principal, dentro de la cual se abren los cursores. Por lo tanto, el tamaño del cursor está limitado por el tamaño de esta área predefinida.
Cursor Actions
- Declarar cursor: un cursor se declara definiendo la instrucción SQL que devuelve un conjunto de resultados.
- Abrir: Un Cursor se abre y se llena ejecutando la instrucción SQL definida por el cursor.
- Recuperar: cuando se abre el cursor, las filas se pueden recuperar del cursor una por una o en un bloque para realizar la manipulación de datos.
- Cerrar: después de la manipulación de datos, cierre el cursor explícitamente.
- Desasignar: finalmente, elimine la definición del cursor y libere todos los recursos del sistema asociados con el cursor.
Tipos de cursores
Los cursores se clasifican según las circunstancias en las que se abren.
- Cursor implícito: si el motor de Oracle abrió un cursor para su procesamiento interno, se conoce como Cursor implícito. Oracle lo crea «automáticamente» para el usuario cuando se ejecuta una consulta y es más simple de codificar.
- Cursor explícito: También se puede abrir un Cursor para procesar datos a través de un bloque PL/SQL, bajo demanda. Dicho cursor definido por el usuario se conoce como Cursor explícito.
Cursor
explícito Un cursor explícito se define en la sección de declaración del bloque PL/SQL. Se crea en una instrucción SELECT que devuelve más de una fila. Un nombre adecuado para el cursor.
Sintaxis general para crear un cursor:
CURSOR cursor_name IS select_statement; cursor_name – A suitable name for the cursor. select_statement – A select query which returns multiple rows
¿Cómo usar el cursor explícito?
Hay cuatro pasos para usar un cursor explícito.
- DECLARE el cursor en la sección Declaración.
- ABRIR el cursor en la Sección de Ejecución.
- OBTENGA los datos del cursor en variables PL/SQL o registros en la sección de ejecución.
- CIERRE el cursor en la sección de ejecución antes de finalizar el bloque PL/SQL.
Sintaxis:
DECLARE variables; records; create a cursor; BEGIN OPEN cursor; FETCH cursor; process the records; CLOSE cursor; END;
Referencia:
https://docs.oracle.com/cd/A97630_01/appdev.920/a96624/01_oview.htm#740
Publicación traducida automáticamente
Artículo escrito por akash sharan 2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA