sql_insert
Description
SQL INSERT or REPLACE statements containing literal rows. Configure sql_insert_table for the destination. Import the resulting text as SQL, not as INSERT ... FORMAT sql_insert.
Output only. Select it with FORMAT sql_insert. Names ignore ASCII case; use the snake_case name shown here.
The output is executable SQL with column names and literal row values. sql_insert_table names its destination, and other settings choose statement grouping and INSERT/REPLACE behavior.
Run the generated text as SQL to import it into a compatible existing table. It cannot be passed back through FORMAT sql_insert because this format has no input decoder.
text
SELECT expressions FORMAT sql_insert;Example usage
sql
SELECT CAST(7 AS Int64) AS id, 'Ada' AS name FORMAT sql_insert;text
INSERT INTO table (`id`, `name`) VALUES (7, 'Ada');Format settings
Use a statement SETTINGS clause; these options are not persisted by SET.
| Setting | Type | Default | Meaning |
|---|---|---|---|
sql_insert_batch_rows |
UInt64 |
65505 |
Write at most this many rows per INSERT or REPLACE statement; 0 writes one row per statement. |
sql_insert_column_names |
Bool |
1 |
Include the result column names before VALUES in each written statement. |
sql_insert_quote_names |
Bool |
1 |
Surround each written column name with backticks; names and the table text are otherwise written verbatim. |
sql_insert_replace |
Bool |
0 |
Write REPLACE INTO instead of INSERT INTO. |
sql_insert_table |
String |
table |
The table text written verbatim after INSERT INTO or REPLACE INTO; include any desired qualification or quoting. |