1. Cursor en PL/SQL :
básicamente se puede hacer referencia a un cursor como un puntero al área de contexto. El área de contexto es un área de memoria creada por Oracle cuando se procesa la instrucción SQL. El cursor es responsable de contener las filas que han sido devueltos por una declaración SQL. Por lo tanto, PL/SQL controla el área de contexto con la ayuda del cursor. Un conjunto activo es básicamente el conjunto de filas que contiene el cursor. El cursor puede ser de dos tipos: Cursor implícito y Cursor explícito.
Ventajas del Cursor:
- Son útiles para realizar el procesamiento fila por fila y también la validación de fila en cada fila.
- Se puede lograr un mejor control de concurrencia mediante el uso de cursores.
- Los cursores son más rápidos que los bucles while.
Desventajas del cursor:
- Usan más recursos cada vez y, por lo tanto, pueden resultar en un viaje de ida y vuelta de la red.
- Un mayor número de viajes de ida y vuelta en la red puede degradar el rendimiento y reducir la velocidad.
2. Disparador en PL/SQL :
un disparador es básicamente un programa que se ejecuta automáticamente en respuesta a algunos eventos, como la modificación en la base de datos. Algunos de los eventos para su ejecución son declaraciones DDL, declaraciones DML o cualquier operación de base de datos. Los disparadores son por lo tanto, se almacenan en la base de datos y entran en acción cuando coinciden condiciones específicas. Por lo tanto, se pueden definir en cualquier esquema, tabla, vista, etc. y DESPUÉS DE ELIMINAR.
Ventajas del gatillo:
- Son útiles para realizar un seguimiento de todos los cambios dentro de la base de datos.
- También ayudan a mantener las restricciones de integridad.
Desventajas del disparador:
- Son muy difíciles de ver, lo que dificulta también la depuración.
- El uso excesivo de los disparadores o la escritura de códigos complejos dentro de un disparador pueden ralentizar el rendimiento.
Diferencia entre cursor y disparador:
S.NO | Cursor | Generar | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1. | Es un puntero que se utiliza para controlar el área de contexto y también para recorrer los registros en la base de datos. | Es un programa que se ejecuta en respuesta a la ocurrencia de algunos eventos. | |||||||||
2. | Se puede crear un cursor dentro de un disparador escribiendo la instrucción declare dentro del disparador. | No se puede crear un disparador dentro de un cursor. | |||||||||
3. | Se crea en respuesta a la ejecución de la instrucción SQL, por lo que no se almacena previamente. | Es un programa previamente almacenado. | 4. | La función principal del cursor es recuperar filas del conjunto de resultados de una en una (fila por fila). | La función principal del disparador es mantener la integridad de la base de datos. | 5. | Un cursor se activa y, por lo tanto, se crea en respuesta a cualquier instrucción SQL. | Un activador se ejecuta en respuesta a una declaración DDL, declaración DML o cualquier operación de base de datos. | 6. | La principal desventaja del cursor es que usa más recursos cada vez y, por lo tanto, da como resultado un viaje de ida y vuelta de la red. | La principal desventaja de los disparadores es que son difíciles de ver, lo que dificulta mucho la depuración. |
Publicación traducida automáticamente
Artículo escrito por sakshi17bcs1162 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA