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

Jak powiązać ArrayList z PreparedStatement w Oracle?

Nie możesz powiązać listy z pojedynczym parametrem w przygotowanej instrukcji.

Generuj SQL ze znacznikiem parametru dla każdego elementu na liście, na przykład:

SELECT NAME FROM ITEM WHERE ID IN (?, ?, ?, ?)

Nawet jeśli wygenerujesz nowe oświadczenie dla każdego zapytania, nadal polecam użycie PreparedStatement . Jeśli Twoja lista zawiera String wystąpień, uzyskasz niezbędną escaping w celu ochrony przed wstrzyknięciem SQL.

Ale nawet jeśli jest to bezpieczny typ, taki jak Integer obiekty, niektóre sterowniki lub oprogramowanie pośredniczące mogą buforować PreparedStatements i zwróć buforowane wystąpienie, jeśli zażądano tego samego formularza. Oczywiście konieczne byłyby pewne testy. Jeśli twoje listy różnią się znacznie rozmiarem, będziesz mieć wiele różnych instrukcji, a źle zaimplementowana pamięć podręczna może nie być przygotowana do obsługi tak wielu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd logowania Sqlplus podczas używania zmiennych bash:SP2-0306:Nieprawidłowa opcja

  2. Oracle SQL:Niedozwolona kolumna

  3. Zewnętrzni dostawcy Oracle dla platformy .Net z obsługą typów obiektów

  4. Jak uruchomić Opatch w formie nieinteraktywnej

  5. Niestandardowy stan sesji Oracle SessionStateStoreProviderBase