| Documentation PostgreSQL 7.2 | ||
|---|---|---|
| <<< Previous | Next >>> | |
CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ]
AS query
|
CREATE TABLE AS crée une table et la remplit avec des données générées par une commande SELECT. Les colonnes de la table ont les noms et les types associés avec les sorties de colonnes SELECT (sauf que vous pouvez remplacer les noms de colonne en fournissant une liste explicite de nouveaux noms).
CREATE TABLE AS présente une certaine ressemblance avec la création d'une vue, mais en réalité c'est différent : elle crée une nouvelle table et évalue la requête une seule fois pour remplir la nouvelle table. Celle-ci ne suivra pas les changements subséquents des tables source de la requête. Par contraste, une vue réévalue les instructions SELECT sous-jacentes chaque fois qu'elle est questionnée.
Sispécifié, la table est créée comme table temporaire. Les tables temporaires sont automatiquement supprimées à la fin d'une session. L'existence des tables permanentes avec le même nom ne sont pas visibles par la session en cours tandis que les tables temporaires existent. Certains indexes créés sur une table temporaire sont automatiquement temporaires également.
Le mot LOCAL est optionnel.
Le nom d'une nouvelle table a créer. Cette table ne doit pas déja exister. Cependant, une table temporaire peut être créée en ayant le même nom qu'une table permanente existante.
Le nom d'une colonne dans la nouvelle table. De multiples nms de colonnes peuvent être spécifiés en utilisant une liste de noms de colonnes délimitée par une virgule. Si les noms de colonne ne sont pas fournis, ils sont pris à partir des noms de colonnes des sorties de la requête.
Une instruction de requête (comme, une commande SELECT). Voir SELECT pour une description de la syntaxe admise.
Cette commande est fonctionnellement équivalente à SELECT INTO , mais elle est préférée car elle risque moins d'être confondue avec les autres utilisations de la syntaxe SELECT ... INTO.
Cette commande prend exemple sur une fonctionnalité Oracle Il n'y ap as de commande avec une fonctionnalité équivalente dans le SQL92 ou SQL99. Cependant, une combinaison de CREATE TABLE et INSERT ... SELECT peut accomplir la même chose avec un peu moins d'effort.
| <<< Previous | Home | Next >>> |
| CREATE TABLE | Up | CREATE TRIGGER |