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

¿Por qué no puedo usar una variable de vinculación en una instrucción de ejecución inmediata?

Las variables de vinculación son para vincular variables, no para vincular fragmentos de código. La idea es que Oracle pueda compilar y almacenar en caché una consulta o bloque de código y ejecutarlo varias veces con diferentes parámetros.

Sin embargo, intenta usar el enlace de parámetros para reemplazar la fórmula calculada. Evitaría compilar y almacenar en caché el bloque de código y, por lo tanto, no es compatible.

Además, no se puede expresar con la sintaxis actual. Si Oracle ve tmp := :f piensa que simplemente quieres asignar el parámetro f a la variable tmp . No espera tener que evaluar una función.

Solo ve con la solución de trabajo. Funciona después de todo.