Mit diesem Block-Kommando lässt sich ein parametrisiertes SQL-Statement (INSERT/UPDATE/DELETE) als JDBC-Batch ausführen. Im Körper des Blockkommandos wird mit dem Kindkommando Datensatz zur Schreib-Warteschlange hinzufügen (typischerweise innerhalb einer äußeren Schleife) je Aufruf eine Zeile mit den aktuellen Variablenwerten in den Batch-Puffer gelegt. Erreicht der Puffer die maximale Batch-Größe, wird automatisch ein executeBatch an die Datenbank gesendet und der Puffer geleert. Am Ende des Blocks wird ein letzter executeBatch ausgeführt, der noch verbliebene Zeilen schreibt.

Parameter:

  • SQL Statement: Das auszuführende SQL-Statement. Bind-Variablen werden als $Variablenname angegeben und bei jedem Apply mit dem aktuellen Variablenwert an die PreparedStatement gebunden. Es wird dringend empfohlen, etwaige Felder in diesem Ausdruck als Bind-Variablen anzugeben. Bind-Variablen
  • Max. Batch-Größe: Anzahl der Zeilen, die im Puffer gesammelt werden, bevor ein executeBatch automatisch an die Datenbank gesendet und der Puffer geleert wird. (Default: 1000)
  • Commit alle X Batches: Optionale Zahl. Ist sie gesetzt, wird nach jeweils X ausgeführten Batches zusätzlich ein commit an die Datenbank gesendet. Leer oder 0 bedeutet, dass kein automatischer Commit erfolgt.
  • Connector Name: Der Konnektor zur Datenbank, auf der das SQL-Statement ausgeführt werden soll. (Default: defaultConnector)

Kindkommando:

  • Datensatz zur Schreib-Warteschlange hinzufügen (SQLBatchTemplateApply): Fügt eine Zeile zur Batch des umschließenden SQL-Batch-Template hinzu. Die im SQL-Statement referenzierten Variablen werden zum Zeitpunkt des Aufrufs ausgewertet und als Bind-Werte an die PreparedStatement übergeben. Wird typischerweise innerhalb einer äußeren Schleife (z. B. SQL-Select) platziert, sodass je Iteration eine neue Zeile in den Batch-Puffer aufgenommen wird.