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.