sql >> Base de Datos >  >> RDS >> Oracle

Cómo crear un cursor de referencia débil PL/SQL en una base de datos Oracle

Por qué el cursor de referencia débil de PL/SQL 

En el tutorial anterior, aprendimos cómo obtener datos de diferentes tipos de datos de diferentes columnas usando el cursor de referencia fuerte. Los cursores de referencia fuertes tienen la limitación de que tienen un tipo de retorno fijo que solo puede ser un tipo de datos de registro. Sin embargo, el tipo de retorno fijo hace que un cursor de referencia fuerte sea menos propenso a errores en el desarrollo de la aplicación. Pero esto definitivamente requiere un paso adicional para crear un tipo de datos de registro definido por el usuario.

Entonces, ¿no tenemos ninguna forma alternativa de obtener datos de diferentes tipos de datos usando el cursor de referencia que no requiere la creación de un tipo de datos de registro definido por el usuario? ¿No podemos crear un cursor de referencia que no tenga un tipo de retorno fijo? Descubramos las respuestas a estas preguntas en este blog.

¿Qué es un cursor de referencia débil PL/SQL en Oracle Database?

Un cursor de referencia que no tiene un tipo de retorno fijo se denomina cursor de referencia débil.

¿Podemos usar Weak Ref Cursor con cualquier instrucción SELECT o no?

Si podemos. Debido a que los cursores de referencia débiles no tienen un tipo de retorno fijo como los cursores de referencia fuertes, están abiertos a todos los tipos de instrucciones SELECT. Esto también los convierte en los cursores de referencia más utilizados en comparación con otros.

Supongo que ahora tienes las respuestas a las preguntas anteriores. PL/SQL Weak Ref Cursor es la forma alternativa de obtener datos de diferentes tipos de datos. Como el cursor de referencia débil no tiene un tipo de retorno fijo, no es necesario crear un tipo de datos de registro separado. Ahora que hemos despejado todas nuestras dudas, es hora de ver un ejemplo que lo ayudará a aprender cómo crear cursores de referencia débiles PL/SQL en Oracle Database.

Sintaxis del cursor de referencia débil

TYPE ref_cursor_name IS REF CURSOR;

Ejemplo:cómo crear un cursor de referencia débil en la base de datos Oracle

SET SERVEROUTPUT ON;
DECLARE
    /*Declare Weak Ref Cursor*/
    TYPE wk_RefCur IS REF CURSOR;
    /*Declare Cursor Variable of ref cursor type*/
    cur_var wk_RefCur;
    
     /*Declare two "Anchored Datatype Variable" for holding data from the cursor*/
    f_name  employees.first_name%TYPE;
    emp_sal employees.salary%TYPE;
BEGIN
    OPEN cur_var FOR SELECT first_name, Salary FROM employees WHERE employee_id = 100;
    FETCH cur_var INTO f_name, emp_sal;
    CLOSE cur_var;
    DBMS_OUTPUT.PUT_LINE (f_name ||' '||emp_sal);
END;
/

Continúe e intente ejecutar este programa para ver cuál será el resultado. Si lo desea, también puede descargar este script desde el repositorio GIT. Aquí están los enlaces [Script/Repositorio Git]

Si aprende mejor viendo videos, aquí está el video tutorial sobre el cursor de referencia débil de PL/SQL.

Ese es el tutorial sobre cómo crear un cursor de referencia débil PL/SQL en Oracle Database. Así que asegúrese de suscribirse al canal de YouTube. En el próximo tutorial, aprenderemos qué es Sys Ref Cursor en Oracle Database. ¡Gracias y que tengas un gran día!