## Purpose
Inserts data into a table of a data container. Low-volume inserts are typically done one-by-one, but on some connectors a bulk insert option is available which inserts data with multiple rows each time for higher throughput. The data can be sourced from a select statement or values. Values can be single row values or multiple row values.
The identified by and attach to clause can be used in combination with transactions. The identified by clause is used to register the master rows, whereas the attach to clause is used to register which master rows detail rows belong. Upon commit, a master row (such as a sales order) plus it's details (such as multiple sales order lines) are sent to the target data container.
## Syntax
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart TD
insertStatement_start((START))
insertStatement_start --> insertStatement_0_0[BULK]:::quoted
insertStatement_0_0 --> insertStatement_0_1[INSERT]:::quoted
insertStatement_0_1 --> insertStatement_0_2[INTO]:::quoted
insertStatement_0_2 --> insertStatement_0_3[tableSpec]
insertStatement_0_3 --> insertStatement_0_4[insertFieldList]
insertStatement_0_4 --> insertStatement_0_5[valuesExpression]
insertStatement_0_5 --> insertStatement_0_6[insertFieldList]
insertStatement_0_6 --> insertStatement_0_7[selectStatement]
insertStatement_0_7 --> insertStatement_0_8[identifiedByClause]
insertStatement_0_8 --> insertStatement_0_9[attachToClause]
insertStatement_0_9 --> insertStatement_0_10[BATCHSIZE]:::quoted
insertStatement_0_10 --> insertStatement_0_11[numericConstant]
insertStatement_0_11 --> insertStatement_end((END))
```
## valuesExpression
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
valuesExpression_start((START))
valuesExpression_start --> valuesExpression_0_0[values_]
valuesExpression_0_0 --> valuesExpression_0_1[insertValuesBulk]
valuesExpression_0_1 --> valuesExpression_0_2[insertValues]
valuesExpression_0_2 --> valuesExpression_end((END))
```
## bulk
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
Start((START)) --> BULK[BULK]:::quoted
BULK --> End((END))
```
## into
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
Start((START)) --> INTO[INTO]:::quoted
INTO --> End((END))
```
## insert
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
Start((START)) --> INSERT[INSERT]:::quoted
INSERT --> End((END))
```
## values_
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
Start((START)) --> values_
values_ -->| | VALUES[VALUES]:::quoted
VALUES --> End((END))
```
## insertFieldList
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
insertFieldList_start((START))
insertFieldList_start --> insertFieldList_0_0["("]:::quoted
insertFieldList_0_0 --> insertFieldList_0_1[columnList]
insertFieldList_0_1 --> insertFieldList_0_2[")"]:::quoted
insertFieldList_0_2 --> insertFieldList_end((END))
```
## insertValuesBulk
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
insertValuesBulk_start((START))
insertValuesBulk_start --> insertValuesBulk_0_0["("]:::quoted
insertValuesBulk_0_0 --> insertValuesBulk_0_1[insertValues]
insertValuesBulk_0_1 --> insertValuesBulk_0_2[","]:::quoted
insertValuesBulk_0_2 --> insertValuesBulk_0_3[insertValues]
insertValuesBulk_0_3 --> insertValuesBulk_0_4[")"]:::quoted
insertValuesBulk_0_4 --> insertValuesBulk_end((END))
```
## insertValues
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
insertValues_start((START))
insertValues_start --> insertValues_0_0["("]:::quoted
insertValues_0_0 --> insertValues_0_1[insertValuesList]
insertValues_0_1 --> insertValues_0_2[")"]:::quoted
insertValues_0_2 --> insertValues_end((END))
```
## insertValuesList
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
insertValuesList_start((START))
insertValuesList_start --> insertValuesList_0_0[<a href="Invantive UniversalSQL/Grammar/Expression" class="internal-link">expression</a>]
insertValuesList_0_0 --> insertValuesList_0_1[","]:::quoted
insertValuesList_0_1 --> insertValuesList_0_2[<a href="Invantive UniversalSQL/Grammar/Expression" class="internal-link">expression</a>]
insertValuesList_0_2 --> insertValuesList_end((END))
```
## identifiedByClause
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
identifiedByClause_start((START))
identifiedByClause_start --> identifiedByClause_0_0[IDENTIFIED]:::quoted
identifiedByClause_0_0 --> identifiedByClause_0_1[BY]:::quoted
identifiedByClause_0_1 --> identifiedByClause_0_2[<a href="Invantive UniversalSQL/Grammar/Expression" class="internal-link">expression</a>]
identifiedByClause_0_2 --> identifiedByClause_end((END))
```
## identifiedByMultipleClause
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
identifiedByMultipleClause_start((START))
identifiedByMultipleClause_start --> identifiedByMultipleClause_0_0[IDENTIFIED]:::quoted
identifiedByMultipleClause_0_0 --> identifiedByMultipleClause_0_1[BY]:::quoted
identifiedByMultipleClause_0_1 --> identifiedByMultipleClause_0_2[columnList]
identifiedByMultipleClause_0_2 --> identifiedByMultipleClause_end((END))
```
## attachToClause
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
attachToClause_start((START))
attachToClause_start --> attachToClause_0_0[ATTACH]:::quoted
attachToClause_0_0 --> attachToClause_0_1[TO]:::quoted
attachToClause_0_1 --> attachToClause_0_2[<a href="Invantive UniversalSQL/Grammar/Expression" class="internal-link">expression</a>]
attachToClause_0_2 --> attachToClause_end((END))
```