Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
ACCUEIL POSTGRESQL FORUM POSTGRESQL F.A.Q POSTGRESQL UDF POSTGRESQL LIVRES POSTGRESQL

7.7. Listes VALUES

VALUES fournit une façon de générer une table de « constantes » qui peut être utilisé dans une requête sans avoir à réellement créer et peupler une table sur disque. La syntaxe est

VALUES ( expression [, ...] ) [, ...]

Chaque liste d'expressions entre parenthèses génère une ligne dans la table. Les listes doivent toutes avoir le même nombre d'éléments (c'est-à-dire une liste de colonnes dans la table), et les entrées correspondantes dans chaque liste doivent avoir des types compatibles. Le type réel affecté à chaque colonne du résultat est déterminé en utilisant les mêmes règles que pour UNION (voir Section 10.5, « Constructions UNION, CASE et constructions relatives »).

Voici un exemple,

VALUES (1, 'un'), (2, 'deux'), (3, 'trois');

renverra une table de deux colonnes et trois lignes. C'est équivalent à

SELECT 1 AS column1, 'un' AS column2
UNION ALL
SELECT 2, 'deux'
UNION ALL
SELECT 3, 'trois';

Par défaut, PostgreSQL™ affecte les noms column1, column2, etc. aux colonnes d'une table VALUES. Les noms des colonnes ne sont pas spécifiés par le standard SQL et les différents SGBD le font de façon différente. Donc, il est généralement mieux de surcharger les noms par défaut avec une liste d'alias.

Syntaxiquement, VALUES suivi par une liste d'expressions est traité de la même façon que

SELECT liste_select FROM expression_table

et peut apparaître partout où un SELECT le peut. Par exemple, vous pouvez l'utiliser comme élément d'un UNION ou y attacher une spécification de tri (ORDER BY, LIMIT et/ou OFFSET). VALUES est habituellement utilisée comme source de données dans une commande INSERT command, mais aussi dans une sous-requête.

Pour plus d'informations, voir VALUES.

Responsable bénévole de la rubrique PostgreSQL : Damien Griessinger (HpAlpha) - Contacter par EMail :
Vos questions techniques : forum d'entraide PostgreSQL - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.