Proměnné vazby jsou pro vazbu proměnných, nikoli pro vazbu částí kódu. Myšlenka je taková, že Oracle dokáže zkompilovat a uložit do mezipaměti dotaz nebo blok kódu a provést jej několikrát s různými parametry.
Pokusíte se však použít vazbu parametrů pro nahrazení vypočítaného vzorce. Zabránilo by to kompilaci a ukládání bloku kódu do mezipaměti, a proto není podporováno.
Navíc jej nelze vyjádřit aktuální syntaxí. Pokud Oracle vidí tmp := :f
myslí si, že jednoduše chcete přiřadit parametr f
do proměnné tmp
. Neočekává se, že bude muset vyhodnotit funkci.
Stačí přejít na pracovní řešení. Koneckonců to funguje.