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.