INSERT

affectation

Insertion de données dans un tableau.

Disponible en

DSQL, ESQL, PSQL

Syntaxe
INSERT INTO target [(<column_list>)]
  [OVERRIDE {SYSTEM | USER} VALUE]
  {DEFAULT VALUES | <value_source>}
  [RETURNING <returning_list> [INTO <variables>]]

<column_list> ::= col-name [, col-name ...]

<value_source> ::= VALUES (<value_list>) | <select_stmt>

<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>
  | <other-single-value-expr>

<variables> ::= [:]varname [, [:]varname ...]
Table 1. Paramètres de la clause INSERT
ParamètreDescription

target

Nom de la table ou de la vue dans laquelle la ou les nouvelles entrées sont insérées.

col-name

Le nom de la colonne de la table ou de la vue.

value_expression

Une expression dont la valeur est utilisée pour insérer dans une table ou retourner à RETURNING

literal

Litéral

context-variable

La variable de contexte.

other-single-value-expr

Toute autre expression qui renvoie une seule valeur du type de données Firebird ou NULL.

return_expression

Expression renvoyée dans une clause RETURNING.

collation

Nom de tri existant (pour les types de caractères uniquement).

alias

Alias pour l'expression retournée dans la clause RETURNING.

varname

Le nom de la variable PSQL.

L'instruction INSERT ajoute des lignes à la table ou à une ou plusieurs tables de présentation. Si les valeurs des colonnes sont spécifiées sous VALUES, une ligne sera insérée. Les valeurs des colonnes peuvent également être obtenues à partir de l'instruction SELECT, auquel cas zéro ou plusieurs lignes peuvent être insérées. Dans le cas de DEFAULT VALUES, les valeurs peuvent ne pas être spécifiées et une ligne sera insérée.

Note
  • Une colonne ne peut pas être spécifiée plus d'une fois dans la liste des colonnes ;

  • Lorsqu'on renvoie les valeurs des colonnes d'un enregistrement inséré en utilisant INTO dans les variables contextuelles NEW.columnname dans les triggers, il n'est pas nécessaire d'utiliser le préfixe deux points. (":").