
Queries
Run multiple SQLite queries.
Run multiple SQLite queries.
Run multiple SQLite queries.
Executes multiple SQL statements sequentially against a SQLite database, optionally within a single transaction.
The database can be:
- reused from a previous task via
sqliteFile, - referenced directly through the JDBC URL,
- or created and persisted when
outputDbFileis enabled.
When outputDbFile is set to true, the database used during execution
is uploaded to Kestra internal storage and exposed as outputs.<taskId>.databaseUri,
enabling database reuse across tasks.
type: "io.kestra.plugin.jdbc.sqlite.Queries"Examples
Execute multiple queries, using existing SQLite file, and pass the results to another task.
id: sqlite_query_using_file
namespace: company.team
tasks:
- id: init_db
type: io.kestra.plugin.jdbc.sqlite.Queries
url: jdbc:sqlite:myfile.db
outputDbFile: true
sql: |
CREATE TABLE IF NOT EXISTS pgsql_types (
play_time TEXT,
concert_id INTEGER,
timestamp_type TEXT
);
INSERT INTO pgsql_types (play_time, concert_id, timestamp_type) VALUES ('2024-01', 1, '2024-01-01T12:00:00');
- id: select
type: io.kestra.plugin.jdbc.sqlite.Queries
url: jdbc:sqlite:myfile.db
sqliteFile: "{{ outputs.init_db.databaseUri }}"
outputDbFile: true
sql: select * from pgsql_types
fetchType: FETCH
- id: use_fetched_data
type: io.kestra.plugin.jdbc.sqlite.Queries
url: jdbc:sqlite:myfile.db
sqliteFile: "{{ outputs.select.databaseUri }}"
sql: |
CREATE TABLE IF NOT EXISTS pl_store_distribute (
year_month TEXT,
store_code INTEGER,
update_date TEXT
);
{% for row in outputs.select.outputs[0].rows %}
INSERT INTO pl_store_distribute (year_month, store_code, update_date)
VALUES ('{{row.play_time}}', {{row.concert_id}}, '{{row.timestamp_type}}');
{% endfor %}
Properties
sql*Requiredstring
SQL statement(s) to execute.
Runs one or more SQL statements depending on the task type. Query tasks support a single SQL statement, while Queries tasks can run multiple statements separated by semicolons.
afterSQLstring
SQL to execute atomically after trigger query.
Optional SQL executed in the same transaction as the main trigger query. Typically updates processing flags to prevent duplicate processing. Both sql and afterSQL queries commit together, ensuring consistency.
fetchSizeintegerstring
10000Number of rows that should be fetched.
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if autoCommit is false.
fetchTypestring
NONESTOREFETCHFETCH_ONENONEThe way you want to store data.
FETCH_ONE - output the first row. FETCH - output all rows as output variable. STORE - store all rows to a file. NONE - do nothing.
outputDbFilebooleanstring
falseOutput the SQLite database file
When set to true, the SQLite database file used during execution
is uploaded to Kestra internal storage and exposed as outputs.<taskId>.databaseUri.
parametersobject
Parameters
A map of parameters to bind to the SQL queries. The keys should match the parameter placeholders in the SQL string, e.g., : parameterName.
passwordstring
The database user's password.
sqliteFilestring
SQLite database file (optional)
Optional URI to an existing SQLite database file stored in Kestra internal storage.
When provided, the file is downloaded into the task working directory and used as the SQLite database for the query execution.
timeZoneIdstring
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.
transactionbooleanstring
trueTransaction
If one query failed, rollback transactions.
urlstring
jdbc:sqlite:The JDBC URL to connect to the database.
Example: jdbc: sqlite: mydb.sqlite
usernamestring
The database user.
Outputs
outputsarray
io.kestra.plugin.jdbc.AbstractJdbcBaseQuery-Output
Map containing the first row of fetched data.
Only populated if fetchOne parameter is set to true.
List of map containing rows of fetched data.
Only populated if fetch parameter is set to true.
The number of rows fetched.
Only populated if store or fetch parameter is set to true.
uriThe URI of the result file on Kestra's internal storage (.ion file / Amazon Ion formatted text file).
Only populated if store is set to true.
Metrics
fetch.sizecounter
rowsThe number of fetched rows.