sql >> Databáze >  >> RDS >> Oracle

Proč nemohu použít proměnnou vazby v příkazu pro okamžité spuštění?

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.



  1. Nastavení atributů připojení ODBC bez nutnosti psát kód

  2. jak mohu získat hodnotu pole ve 3 asociačních tabulkách s maximálním datem

  3. Najděte ID rodiče, když všechny děti sdílejí stejnou hodnotu

  4. Jak porovnávat pole v PostgreSQL