Diferencia entre el cursor explícito y el cursor implícito

Diferencia entre el cursor explícito y el cursor implícito

Cursor explícito vs cursor implícito

Cuando se trata de bases de datos, un cursor es una estructura de control que permite atravesar los registros en una base de datos. Un cursor proporciona un mecanismo para asignar un nombre a una instrucción SQL SELECT y luego puede usarse para manipular la información dentro de esa declaración SQL. Los cursores implícitos se crean y se usan automáticamente cada vez que se emite una declaración selecta en PL/SQL, cuando no hay un cursor explícitamente definido. Los cursores explícitos, como su nombre indica, son definidos explícitamente por el desarrollador. En PL/SQL, un cursor explícito es en realidad una consulta con nombre definida usando el cursor de palabras clave.

¿Qué es el cursor implícito??

Los cursores implícitos son creados y utilizados automáticamente por Oracle cada vez que se emite una instrucción SELECT. Si se utiliza un cursor implícito, el sistema de gestión de la base de datos (DBMS) realizará las operaciones Open, Retching and Close Automáticamente. Los cursores implícitos deben usarse solo con declaraciones SQL que devuelven una sola fila. Si la instrucción SQL devuelve más de una fila, usar un cursor implícito introducirá un error. Un cursor implícito se asocia automáticamente con cada declaraciones de lenguaje de manipulación de datos (DML), a saber, insertar, actualizar y eliminar declaraciones. Además, se utiliza un cursor implícito para procesar la selección en declaraciones. Al obtener datos utilizando cursores implícitos, no_data_found, se puede plantear cuando la instrucción SQL no devuelve datos. Además, los cursores implícitos pueden elevar también las excepciones cuando la instrucción SQL devuelve más de una fila.

¿Qué es el cursor explícito??

Como se mencionó anteriormente, los cursores explícitos se definen consultas usando un nombre. Un cursor explícito puede considerarse como un puntero a un conjunto de registros y el puntero puede avanzar dentro del conjunto de registros. Los cursores explícitos proporcionan al usuario el control completo sobre la apertura, el cierre y la obtención de datos. Además, varias filas se pueden obtener utilizando un cursor explícito. Los cursores explícitos también pueden tomar parámetros como cualquier función o procedimiento para que las variables en el cursor se puedan cambiar cada vez que se ejecute. Además, los cursores explícitos le permiten obtener una fila completa en una variable de registro PL/SQL. Al usar un cursor explícito, primero debe declararse utilizando un nombre. Se puede acceder a los atributos del cursor utilizando el nombre dado al cursor. Después de declarar, el cursor debe abrirse primero. Entonces se puede iniciar una búsqueda. Si se deben obtener varias filas, la operación de recuperación debe realizarse dentro de un bucle. Finalmente, el cursor debe cerrarse.

Diferencia entre el cursor explícito y el cursor implícito

La principal diferencia entre el cursor implícito y el cursor explícito es que un cursor explícito debe definirse explícitamente proporcionando un nombre mientras los cursores implícitos se crean automáticamente cuando emite una declaración selecta. Además, se pueden obtener varias filas utilizando cursores explícitos, mientras que los cursores implícitos solo pueden obtener una sola fila. También no_data_found y demasiado_many_rows Las excepciones no se plantean cuando se usan cursores explícitos, en lugar de los cursores implícitos. En esencia, los cursores implícitos son más vulnerables a los errores de datos y proporcionan menos control programático que los cursores explícitos. Además, los cursores implícitos se consideran menos eficientes que los cursores explícitos.