---
cuppy_hub: salesforce
cuppy_path: reference/official/data360/data-cloud-query-guide/references/dc-sql-reference/insert.md
cuppy_section: docs
cuppy_doc: SQ9P-WDM7
cuppy_doc_uuid: c2860562-ad71-40dc-aa60-0d5ee52c4c18
cuppy_permalink: https://cuppy.io/salesforce/d/SQ9P-WDM7
cuppy_version: 1
cuppy_updated: 2026-10-23T16:16:52.575Z
cuppy_canonical: https://cuppy.io/salesforce/docs/reference/official/data360/data-cloud-query-guide/references/dc-sql-reference/insert
cuppy_mcp: https://cuppy.io/mcp
cuppy_body_sha256: 52525120382c56ad7dab19b44e6798e7f51ccb364e5b758c8bbaa8effd56cab2
# cuppy_body_sha256 is over the document body ALONE, excluding both generated blocks.
---

> Mirror of <https://developer.salesforce.com/docs/data/data-cloud-query-guide/references/dc-sql-reference/insert.html> (Salesforce, Data 360 Query Guide), read 2026-10-23. Salesforce's own page is the authority; this copy exists because that site refuses non-browser readers.

## INSERT

**Applies to:** ❌ Data 360 SQL ✅ Tableau Hyper API

Create new rows in a table.

`INSERT` inserts new rows into a table. One can insert one or more rows specified by value expressions, or zero or more rows resulting from a query.

The target column names can be listed in any order. If no list of column names is given at all, the default is all the columns of the table in their declared order; or the first `<n>` column names, if there are only `<n>` columns supplied by the `VALUES` clause or `<query>`. The values supplied by the `VALUES` clause or `<query>` are associated with the explicit or implicit column list left-to-right.

Note that the syntax for the `VALUES` clause is extended from its general definition in [SELECT](https://developer.salesforce.com/docs/data/data-cloud-query-guide/references/dc-sql-reference/select.html), as it also supports the special argument `DEFAULT`. In this special case, the default value is used for the corresponding column. The default value is specified when creating the table. See [CREATE TABLE](https://developer.salesforce.com/docs/data/data-cloud-query-guide/references/dc-sql-reference/create-table.html).

Each column not present in the explicit or implicit column list will be filled with a default value, either its declared default value or null if there is none.

If the expression for any column is not of the correct data type, automatic type conversion will be attempted.

The optional `RETURNING` clause causes `INSERT` to compute and return value(s) based on each row actually inserted. This is primarily useful for obtaining values that were supplied by defaults. However, any expression using the table’s columns is allowed. The syntax of the `RETURNING` list is identical to that of the output list of `SELECT`.

Use of the `RETURNING` clause requires `SELECT` privilege on all columns mentioned in `RETURNING`. If you use the `<query>` clause to insert rows from a query, you of course need to have `SELECT` privilege on any table or column used in the query.

`<with_query>`
The `WITH` clause allows you to specify one or more subqueries that can be referenced by name in the `INSERT` query. See [SELECT](https://developer.salesforce.com/docs/data/data-cloud-query-guide/references/dc-sql-reference/select.html) for details. : It is possible for the `<query>` (`SELECT` statement) to also contain a `WITH` clause. In such a case both sets of `<with_query>` can be referenced within the `<query>`, but the second one takes precedence since it is more closely nested.

`<table_name>`
The name (optionally schema-qualified) of an existing table.

`<column_name>`
The name of a column in the table named by `<table_name>`.

`DEFAULT VALUES`
All columns will be filled with their default values.

`<expression>`
An expression or value to assign to the corresponding column.

`DEFAULT`
The corresponding column will be filled with its default value.

`<query>`
A query (`SELECT` statement) that supplies the rows to be inserted. Refer to the [SELECT](https://developer.salesforce.com/docs/data/data-cloud-query-guide/references/dc-sql-reference/select.html) statement for a description of the syntax.

`<output_expression>`
An expression to be computed and returned by the `INSERT` command after each row is inserted or updated. The expression can use any column names of the table named by `<table_name>`. Write `*` to return all columns of the inserted or updated row(s).

`<output_name>`
A name to use for a returned column.

If the `INSERT` command contains a `RETURNING` clause, the result will be similar to that of a `SELECT` statement containing the columns and values defined in the `RETURNING` list, computed over the row(s) inserted or updated by the command.

Insert a single row into table `films` (from the [CREATE TABLE Examples](https://developer.salesforce.com/docs/data/data-cloud-query-guide/references/dc-sql-reference/create-table.html#examples)):

In this example, the `len` column is omitted and therefore it will have the default value:

This example uses the `DEFAULT` clause for the date columns rather than specifying a value:

To insert a row consisting entirely of default values:

To insert multiple rows using the multi-row `VALUES` syntax:

This example inserts some rows into table `films` from a table `tmp_films` with the same column layout as `films`, returning the maximum `date_prod` among the inserted rows:

`INSERT` conforms to the SQL standard, except that the `RETURNING` clause is a Hyper extension (also available in PostgreSQL), as is the ability to use `WITH` with `INSERT`. Also, the case in which a column name list is omitted, but not all the columns are filled from the `VALUES` clause or `<query>`, is disallowed by the standard.

Possible limitations of the `<query>` clause are documented under [SELECT](https://developer.salesforce.com/docs/data/data-cloud-query-guide/references/dc-sql-reference/select.html).


---
<!-- cuppy -->
You are reading one file. The same content is free over MCP at https://cuppy.io/mcp with no signup: ranked search across all 376 documents in this hub, the merged view when you work in a layer, known workarounds matched to the error you hit, and depth control so you spend tokens on what you need. Start with the `_hello` tool. How to connect: https://cuppy.io/salesforce/ Something wrong in this document? Report it with the `session feedback` tool on the same endpoint.
<!-- /cuppy -->
