Sommaire

Manipulation des données

1. Insertion de données

Il existe deux méthodes pour alimenter des tables avec des données. La première utilise l’ordre INSERT, comme dans la norme SQL et la seconde l’ordre COPY pour notamment le cas de volumes de données importants à l’insertion.

a. L’ordre INSERT ... INTO

L’ordre INSERT respecte la notation de la norme SQL en apportant quelques modifications.

Le synopsis de l’ordre INSERT est le suivant :

[ WITH [ RECURSIVE ] requête_cte [, ...] ]  
INSERT INTO table   
    [ ( colonne [, ...] ) ]   
    {   
    DEFAULT VALUES |   
         VALUES ( { expression | DEFAULT } [, ...] ) |   
         requête   
          }   
    [ ON CONFLICT [ ON CONSTRAINT contrainte ]  
      DO NOTHING | DO UPDATE SET { colonne = expression } [, ...]
[ WHERE condition ] ]  
   [ RETURNING * | expr ]

Selon le nom de la table, la liste des colonnes permet d’indiquer celles qui seront utilisées. Lorsque toutes les colonnes de la table sont utilisées, cette liste n’est pas obligatoire.

Pour chaque colonne, la valeur est exprimée soit avec sa valeur littérale, soit avec une expression, en respectant l’ordre des colonnes indiqué dans la première partie de la commande.

L’exemple qui suit montre ...