IBM PureData System for Analytics, Version 7.1

CREATE VIEW

La commande CREATE VIEW permet de créer une vue. Une vue n'est pas matérialisée physiquement. Au lieu de cela, le système génère automatiquement une règle d'extraction query-rewrites pour prendre en charge les opérations d'extraction sur la vue. Les vues sont en lecture seule. Le système n'autorise pas les insertions, mises à jour ou suppressions sur une vue.

Syntaxe

Syntaxe de création d'une vue :
CREATE [OR REPLACE] VIEW <nom_vue> AS SELECT <requête>

Entrées

La commande CREATE VIEW accepte les entrées suivantes :
Tableau 1. Entrées de la commande CREATE VIEW
Entrée Description
OR REPLACE Si une vue de ce nom n'existe pas déjà, une nouvelle vue est créée, que l'expression OR REPLACE soit spécifiée ou non. Toutefois, si une vue de ce nom existe déjà, et que l'expression OR REPLACE est :
  • spécifiée, la vue est écrasée ;
  • non spécifiée, un message d'erreur est généré et la vue n'est pas écrasée.
Les droits octroyés pour la vue sont conservés.
<nom_vue> Nom de la vue à créer.
<requête> Requête SQL qui détermine les colonnes et les lignes de la vue. Pour plus d'informations, voir SELECT (pour extraire des lignes).

Sorties

La commande CREATE VIEW génère les sorties suivantes :
Tableau 2. Sorties de la commande CREATE VIEW
Sortie Description
CREATE VIEW La vue a été créée.
ERROR: Relation 'view' already exists Il existe déjà une vue de ce nom dans la base de données.

Droits

Vous devez être administrateur, propriétaire de la base de données ou du schéma ou votre compte doit disposer des droits Create View. Vous devez disposer des droits Select sur la table de base de la vue. Pour remplacer une vue, vous devez également disposer des droits Alter pour la vue ou la classe d'objet View.

Syntaxe

Voici un exemple de syntaxe :
  • Créez une vue répertoriant toutes les comédies :
    MYDB.SCH1(USER)=> CREATE VIEW kinds AS
           SELECT *
           FROM films
           WHERE kind = 'Comedy';
  • Affichez la vue :
    MYDB.SCH1(USER)=> SELECT * FROM kinds; 
       code  | title                     | did | date_prod  | kind    | len
       ------+---------------------------+-----+------------+---------+--
       C_701 | There's a Girl in my Soup | 107 | 1970-06-11 | Comedy  | 
    01:36:00
       UA502 | Bananas                   | 105 | 1971-07-13 | Comedy  | 
    01:22:00
  • Remplacez la vue tout en conservant les droits octroyés pour la vue d'origine :
    MYDB.SCH1(USER)=> CREATE OR REPLACE VIEW kinds AS
           SELECT *
           FROM films
           WHERE kind = 'Action';


Feedback | Copyright IBM Corporation 2014 | Last updated: 2014-02-28