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

dynamiczne przekazywanie nazwy tabeli i kolumny za pomocą zmiennych bind

Nazwy tabel i kolumn nie mogą być przekazywane jako zmienne wiązania, nie. Cały sens zmiennych wiązania polega na tym, że Oracle może raz wygenerować plan zapytania dla instrukcji, a następnie wykonać go wiele razy z różnymi wartościami zmiennych wiązania. Jeśli optymalizator nie wie, do której tabeli uzyskuje się dostęp lub jakie kolumny są wybierane i filtrowane, nie może wygenerować planu zapytania.

Jeśli Twoje obawy dotyczą ataków typu SQL injection i zakładając, że dynamiczny SQL jest rzeczywiście niezbędny (w większości przypadków potrzeba uciekania się do dynamicznego SQL oznacza problemy z modelem danych), możesz użyć DBMS_ASSERT pakiet, aby sprawdzić, czy nazwy tabel i nazwy kolumn nie zawierają wbudowanego SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wdrażanie i konfigurowanie ODP.NET do pracy bez instalacji z Entity Framework

  2. Przetrwanie audytu Oracle

  3. Czy %NOTFOUND może zwrócić wartość null po pobraniu?

  4. Proces aktualizacji krok po kroku do aktualizacji R12.2 część -2 (główny sterownik aktualizacji dla R12.2.0)

  5. Jak zadeklarować i wyświetlić zmienną w Oracle