INSERT
Inserts rows of data into a table or updatable view
INSERT INTO target
{ DEFAULT VALUES
| [(<column_list>)] [<override_opt>] <value-source> }
[RETURNING <returning_list> [INTO <variables>]]
<column_list> ::= col_name [, col_name ...]
<override_opt> ::=
OVERRIDING {USER | SYSTEM} VALUE
<value-source> ::= VALUES (<value-list>) | <query-expression>
<value-list> ::= <ins-value> [, <ins-value> ...]
<ins-value> :: = <value-expression> | DEFAULT
<returning_list> ::= * | <output_column> [, <output_column]
<output_column> ::=
target.*
| <return_expression> [COLLATE collation] [[AS] alias]
<return_expression> ::=
<value-expression>
| [target.]col_name
<value-expression> ::=
<literal>
| <context-variable>
| any other expression returning a single
value of a Firebird data type or NULL
<variables> ::= [:]varname [, [:]varname ...]
| Argument | Description |
|---|---|
target |
The name of the table or view to which a new row, or batch of rows, should be added |
col_name |
Name of a table or view column |
value-expression |
An expression whose value is used for inserting into the table or for returning |
return_expression |
The expression to be returned in the |
literal |
A literal |
context-variable |
Context variable |
varname |
Name of a PSQL local variable |
The INSERT statement is used to add rows to a table or to one or more tables underlying a view:
-
If the column values are supplied in a
VALUESclause, exactly one row is inserted -
The values may be provided instead by a
SELECTexpression, in which case zero to many rows may be inserted -
With the
DEFAULT VALUESclause, no values are provided at all and exactly one row is inserted.
|
Note
|
Restrictions
|
|
Important
|
ALERT :
BEFORE INSERT TriggersRegardless of the method used for inserting rows, be mindful of any columns in the target table or view that are populated by |