CURSOR DE Oracle PARA ACTUALIZAR
Resumen: en este tutorial, aprenderá a utilizar el cursor actualizable de Oracle para actualizar datos en una tabla.
Introducción a Oracle Cursor PARA ACTUALIZAR
A veces, desea bloquear un conjunto de filas antes de poder actualizarlas en su programa. Oracle proporciona la cláusula FOR UPDATE
de la instrucción SELECT
en un cursor actualizable para realizar este tipo de mecanismo de bloqueo.
Aquí está la sintaxis para declarar un cursor actualizable:
La nueva sintaxis aquí son las FOR UPDATE
palabras clave.
Una vez que abra el cursor, Oracle bloqueará todas las filas seleccionadas por la instrucción SELECT ... FOR UPDATE
en las tablas especificadas en FROM
cláusula. Y estas filas permanecerán bloqueadas hasta que el cursor se cierre o la transacción se complete con COMMIT
o ROLLBACK
.
Tenga en cuenta que Oracle bloquea todas las filas devueltas por SELECT ... FOR UPDATE
durante la actualización, por lo tanto, debe tener una cláusula WHERE
para seleccionar solo las filas necesarias para estar bloqueado.
Si tiene una columna específica que desea actualizar, puede incluirla en la cláusula FOR UPDATE
de la siguiente manera:
En este caso, Oracle solo bloquea las filas de la tabla que tienen el nombre de columna listado en la cláusula FOR UPDATE OF
.
Tenga en cuenta que si utiliza solo la cláusula FOR UPDATE
y no incluye una o más columnas después de la palabra clave OF
, Oracle bloquear todas las filas seleccionadas en todas las tablas enumeradas en la cláusula FROM
.
Ejemplo de Cursor de Oracle FOR UPDATE
Considere lo siguiente ejemplo.
Cómo funciona.
- Primero, declare un cursor actualizable que actualice los créditos de los clientes cuyos créditos son mayores que cero.
- Siguiente , recorra las filas de los cursores.
- Luego, obtenga la cantidad de pedidos para cada cliente.
- Después de eso, asigne el incremento de crédito según el recuento de pedidos. >
- Finalmente, actualice el crédito del cliente.
En este tutorial, ha aprendido a usar el cursor actualizable de Oracle para actualizar los datos en una tabla.
- ¿Le resultó útil este tutorial?
- SíNo