Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Avance rapide | Suivant |
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE nom_table [ (nom_colonne [, ...] ) ] AS requête
CREATE TABLE AS crée une table et la remplit avec des données récupérées par une commande SELECT ou un EXECUTE qui lance une commande préparée SELECT. Les colonnes de table ont les noms et les types de données associés avec les colonnes en sortie du SELECT (sauf que vous pouvez surcharger les noms de colonne en donnant une liste explicite des nouveaux noms de colonnes).
CREATE TABLE AS a une certaine ressemblance pour créer une vue mais elle est réellement assez différente : il crée une nouvelle table et évalue la requête juste une fois pour remplir la nouvelle table initialement. La nouvelle table ne tracera pas les changements suivants pour les tables source de la requête. En contraste, une vue ré-évalue son instruction SELECT à chaque fois qu'elle est appelée.
Si spécifié, la table est créée comme une table temporaire. Référez-vous à CREATE TABLE pour plus de détails.
Le nom de la table à créer (pouvant être qualifié avec le nom du schéma).
Le nom d'une colonne dans une nouvelle table. Si les noms de colonnes ne sont pas fournis, ils sont pris des noms de colonnes en sortie de la requête. Si la table est créée à partir d'une commande EXECUTE, une liste de noms de colonnes peut ne pas être spécifiée.
Une instruction de requête (c'est-à-dire une commande SELECT ou une commande EXECUTE qui exécute une commande SELECT préparée). Référez-vous à SELECT ou EXECUTE, respectivement pour une description de la syntaxe autorisée.
Cette commande est équivalente fonctionnellement à SELECT INTO mais elle est préférée car il y a moins de risque de confusion avec les autres utilisations de la syntaxe SELECT ... INTO.
Cette commande est modelée en suivant une fonctionnalité Oracle. Il n'existe pas de commande avec des fonctionnalités équivalentes dans le standard SQL. Néanmoins, une combinaison de CREATE TABLE et INSERT ... SELECT peut accomplir la même chose avec un effort un peu plus important.
Précédent | Sommaire | Suivant |
CREATE TABLE | Niveau supérieur | CREATE TRIGGER |