Insert Keywords¶
This page lists the SQL keywords and clauses used in INSERT
statements, along with their corresponding methods in ts-sql-query
. It covers single and multi-row inserts, inserts from SELECT
, default values, conflict resolution strategies (like ON CONFLICT
or ON DUPLICATE KEY
), and returning inserted rows.
SQL Keyword | ts-sql-query Equivalent | Notes | Link |
---|---|---|---|
EXCLUDED | table .valuesForInsert() |
Refers to the value that was attempted to be inserted during an upsert conflict. | Insert on conflict do update ("upsert"), Insert API |
INSERT INTO | connection .insertInto(...) |
Inserts values in the database. | Insert, Insert API |
INSERT INTO ... VALUES (...) | query .set(...) |
Inserts a single row with specified values. | Insert multiple values, Insert API |
INSERT INTO ... VALUES (...) | query .values([...]) |
Inserts multiple rows in a single statement. | Insert multiple values, Insert API |
INSERT INTO ... SELECT | query .from(...) |
Inserts rows resulting from a SELECT query. | Insert from select, Insert API |
INSERT INTO ... DEFAULT VALUES | query .defaultValues() |
Inserts a row using default values for all columns. | Insert API |
INSERTED | table .valuesForInsert() |
Refers to the value that was attempted to be inserted during an upsert conflict. | Insert on conflict do update ("upsert"), Insert API |
ON CONFLICT | query .onConflictOn(...columns) |
Specifies the columns involved in the conflict resolution clause. | Insert API |
ON CONFLICT DO NOTHING | query .onConflictDoNothing() |
Skips insertion if a conflict occurs on a unique or primary key. | Insert on conflict do nothing, Insert API |
ON CONFLICT DO UPDATE SET | query .onConflictDoUpdateSet({...}) |
Updates existing row if a conflict occurs during insert. | Insert on conflict do update ("upsert"), Insert API |
ON CONFLICT ON CONSTRAINT | query .onConflictOnConstraint('constraint_name') |
Refers to a specific constraint name instead of listing columns. | Insert API |
ON DUPLICATE KEY UPDATE | query .onConflictDoUpdateSet({...}) |
MySQL-style upsert: updates row on duplicate key. | Insert on conflict do update ("upsert"), Insert API |
OUTPUT | query .returning(...) |
Returns inserted values using SQL Server's OUTPUT clause. | Insert returning, Insert API |
RETURNING | query .returning(...) |
Returns inserted rows or values after the operation. | Insert returning, Insert API |
RETURNING INTO | query .returning(...) |
Returns inserted values into variables; Oracle-specific. | Insert returning, Insert API |
WHERE (on conflict) | query .where(...) |
Restricts which conflicts will trigger the upsert logic. | Insert API |
WHERE (do update set) | query .where(...) |
Filters which rows should be updated when a conflict occurs. | Insert API |
WITH | query .forUseInQueryAs(...) |
Common Table Expression (CTE). | Using a select as a view in another select query, Does ts-sql-query support common table expressions (CTE)?, Select API |
WITH RECURSIVE | query .forUseInQueryAs(...) |
Common Table Expression (CTE). | Using a select as a view in another select query, Does ts-sql-query support common table expressions (CTE)?, Select API |