Batch
type: "io.kestra.plugin.jdbc.oracle.Batch"
Execute a batch query to a Oracle server
Examples
Fetch rows from a table and bulk insert to another one
tasks:
- id: query
type: io.kestra.plugin.jdbc.oracle.Query
url: jdbc:oracle:thin:@dev:49161:XE
username: oracle
password: oracle_passwd
sql: |
SELECT *
FROM xref
LIMIT 1500;
store: true
- id: update
type: io.kestra.plugin.jdbc.oracle.Batch
from: "{{ outputs.query.uri }}"
url: jdbc:oracle:thin:@prod:49161:XE
username: oracle
password: oracle_passwd
sql: |
insert into xref values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )
Properties
chunk
- Type: integer
- Dynamic: ✔️
- Required: ✔️
The size of chunk for every bulk request
from
- Type: string
- Dynamic: ✔️
- Required: ✔️
Source file URI
sql
- Type: string
- Dynamic: ✔️
- Required: ✔️
Insert query to be executed
The query must have as much question mark as column in the files. Example: 'insert into database values( ? , ? , ? )' for 3 columns In case you do not want all columns, you need to precise it in the query and in the columns property Example: 'insert into(id,name) database values( ? , ? )' to select 2 columns
url
- Type: string
- Dynamic: ✔️
- Required: ✔️
The jdbc url to connect to the database
columns
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ❌
The columns to be insert
If not provided, ?
count need to match the from
number of cols
password
- Type: string
- Dynamic: ✔️
- Required: ❌
The database user's password
timeZoneId
- Type: string
- Dynamic: ❌
- Required: ❌
The time zone id to use for date/time manipulation. Default value is the worker default zone id.
username
- Type: string
- Dynamic: ✔️
- Required: ❌
The database user
Outputs
rowCount
- Type: integer
The rows count
updatedCount
- Type: integer
The updated rows count