Eine parametrisierte Abfrage verwendet eine vorkompilierte SQL-Anweisung mit Platzhaltern für diejenigen Werte, die sich ändern. Mit parametrisierten Abfragen lässt sich die Verarbeitungseffizienz verbessern und die Datenbank vor SQL-Einschleusungsangriffen schützen. Sie können vorbereitete Anweisungen und den Aufruf von gespeicherten Prozeduren in einer parametrisierten Abfrage verwenden, die Sie gegen einen SQL-Datendienst ausführen.
Definieren Sie die Parameter in dem Objekt
PreparedStatement
oder
CallableStatement
in einem JDBC-Programm oder in einem Anweisungshandle, das von SQLPrepare für ein ODBC-Programm vorbereitet wurde. Verwenden Sie das Objekt
PreparedStatement
zum Speichern einer vorkompilierten SQL-Anweisung, die Sie mehrmals ausführen können. Verwenden Sie das Objekt
CallableStatement
um gespeicherte Prozeduren aufzurufen.
Sie können in dem Objekt
PreparedStatement
der parametrisierten Abfrage die Standardmethodenaufrufe und Änderungsmethoden verwenden.
Ein SQL-Datendienst akzeptiert die gängigen Datentypen wenn Sie die Standardwerte für Parameter in gespeicherten Prozeduren konfigurieren. Die Datentypen Datum, Uhrzeit und Zeitstempel sind Standards im ISO-Format.
Folgende Elemente lassen sich nicht in einer parametrisierten Abfrage verwenden, die gegen einen SQL-Datendienst ausgeführt wird:
Die vorbereiteten Anweisungsmethodenaufrufe addBatch()
und
executeBatch()
Änderungsmethoden z. B. von JDBC 6.0
DDL- und DML-Anweisungen, die aktualisierte Zählungen zurückgeben.