Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Avance rapide | Suivant |
INSERT INTO table [ ( colonne [, ...] ) ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) | requ�te }
INSERT permet d'ins�rer de nouvelles lignes dans une table. Il est possible d'ins�rer une ligne � la fois ou plusieurs lignes comme r�sultat d'une requ�te.
Les colonnes de la liste cible peuvent �tre donn�es dans n'importe quel ordre. Chaque colonne absente de la liste cible sera ins�r�e en utilisant une valeur par d�faut, que sa valeur par d�faut soit d�clar�e ou NULL.
Si l'expression pour chaque colonne n'est pas du bon type de donn�es, la conversion automatique de type sera tent�e.
Vous devez avoir le droit INSERT sur une table pour pouvoir lui ins�rer des lignes. Si vous utilisez la clause requ�te pour ins�rer des lignes � partir d'une requ�te, vous avez aussi besoin d'avoir un droit SELECT sur toute table utilis�e dans la requ�te.
Le nom d'une table existante (pouvant �tre qualifi� du nom du sch�ma).
Le nom d'une colonne dans table.
Toutes les colonnes auront leurs valeurs par d�faut.
Une expression ou une valeur � affecter � colonne.
La colonne sera remplie avec sa valeur par d�faut.
Une requ�te (instruction SELECT) fournissant les lignes � ins�rer. R�f�rez-vous � l'instruction SELECT pour une description de la syntaxe.
En cas de succ�s, une commande INSERT renvoie un code de la forme
INSERT oid nombre
Le nombre correspond au nombre de lignes ins�r�es. Si nombre vaut exactement un et que la table cible contient des OID, alors oid est l'OID affect� � la ligne ins�r�e. Sinon, oid vaut z�ro.
Ins�rez une seule ligne dans la table films :
INSERT INTO films VALUES ('UA502', 'Bananas', 105, '1971-07-13', 'Com�die', '82 minutes');
Dans ce second exemple, la derni�re colonne longueur est omise et, du coup, elle aura la valeur par d�faut, NULL :
INSERT INTO films (code, titre, did, date_prod, genre) VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drame');
Le troisi�me exemple utilise la clause DEFAULT pour les colonnes date plut�t que de sp�cifier une valeur :
INSERT INTO films VALUES ('UA502', 'Bananas', 105, DEFAULT, 'Com�die', '82 minutes'); INSERT INTO films (code, title, did, date_prod, kind) VALUES ('T_601', 'Yojimbo', 106, DEFAULT, 'Drame');
Cet exemple ins�re plusieurs lignes dans la table films � partir de la table table tmp :
INSERT INTO films SELECT * FROM tmp;
Cet exemple ins�re dans des colonnes de type tableau :
-- Create an empty 3x3 gameboard for noughts-and-crosses -- (all of these commands create the same board) INSERT INTO tictactoe (game, board[1:3][1:3]) VALUES (1,'{{"","",""},{},{"",""}}'); INSERT INTO tictactoe (game, board[3][3]) VALUES (2,'{}'); INSERT INTO tictactoe (game, board) VALUES (3,'{{,,},{,,},{,,}}');
INSERT est totalement compatible avec le standard SQL. Les limitations possibles des clauses requ�te sont document�es sous SELECT.
Pr�c�dent | Sommaire | Suivant |
GRANT | Niveau sup�rieur | LISTEN |