Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dlaczego nie mogę użyć zmiennej bind w instrukcji execute?

Zmienne wiązania służą do wiązania zmiennych, a nie do wiązania fragmentów kodu. Pomysł polega na tym, że Oracle może skompilować i buforować zapytanie lub blok kodu i wykonać je kilka razy z różnymi parametrami.

Jednak próbujesz użyć powiązania parametrów do zastąpienia obliczonej formuły. Uniemożliwiłoby to kompilację i buforowanie bloku kodu i dlatego nie jest obsługiwane.

Ponadto nie można go wyrazić przy użyciu bieżącej składni. Jeśli Oracle widzi tmp := :f myśli, że po prostu chcesz przypisać parametr f do zmiennej tmp . Nie wymaga oceny funkcji.

Po prostu wybierz działające rozwiązanie. W końcu to działa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz nowego użytkownika Oracle i przyznaj uprawnienia:składnia i przykłady

  2. Procedura PL/SQL została pomyślnie zakończona, ale nic nie pokazuje

  3. JavaScript Sortowanie kolejności tablicowej według w Oracle

  4. Uzyskiwanie sekund między dwoma znacznikami czasu Oracle

  5. Oświadczenie Oracle Select w stanie JEŻELI