Los cursores con parámetros permiten especificar valores variables al abrir un cursor, de forma similar a cómo se pasan parámetros a procedimientos y funciones. Los parámetros formales de la declaración del cursor deben tener parámetros reales correspondientes en la sentencia OPEN. Los parámetros siempre son de tipo IN y pueden ser de cualquier tipo de datos válido, y se usan para referenciarlos dentro de la consulta. También es posible definir valores predeterminados para los parámetros. La cláusula FOR UPDATE bloquea explícitamente las filas antes de actualizarlas o eliminar
1. Cursores con Parámetros
Se pueden especificar parámetros para los cursores de la misma forma que se pasan
a procedimientos y/o funciones
Sintaxis:
Permite abrir un cursor varias veces con un juego activo distinto cada vez.
Cada parámetro formal de la declaración del cursor debe tener un parámetro real
correspondiente en la sentencia OPEN.
La sintaxis de los parámetros es:
Los parámetros son siempre de tipo IN (solo de entrada), pero el tipo de datos es
cualquier tipo de datos válido. La idea es referenciar el parámetro dentro de la consulta,
y este se pasa a la hora de abrir el cursor.
Es posible también definir los parámetros con default, de forma tal que se puede variar
la cantidad de parámetros a utilizar en el cursor.
Cláusula FOR UPDATE
Sintaxis:
El bloqueo explícito le permite denegar el acceso mientras dura una transacción.
Bloquee las filas antes de la actualización o supresión.
La cláusula FOR UPDATE es la última cláusula de una sentencia SELECT, incluso
después del ORDER BY.
NOWAIT devuelve un error de Oracle si las filas han sido bloqueadas por otra
sesión, de lo contrario se espera.