CREATE VIEW-Befehl für typisierte Sichten(SQL)

In SQL werden Typisierte-Sichten mit folgender CREATE-Anweisung erzeugt:

SQL-Syntax der CREATE-Anweisung für typisierte Sichten:

   <CREATE typisierte Sicht-Anweisung> ::=
CREATE VIEW Sichtname OF Typname [ REF IS OID-Spaltenname [<Referenzgenerierungsart>] [, <Spaltenoptionsliste>] ) AS SELECT-Anweisung [WITH [ { LOCAL | CASCADED}] CHECK OPTION]; <Referenzgenerierungsart> := FROM ( Spaltenname [, Spaltenname]...) -- abgeleitet vom Primär-/Eindeutigkeitsschlüssel | USING Typname -- benutzergeneriert

Die OID-Generierung entspricht der OID-Typspezifikation, allerdings ist SYSTEM GENERATED nicht vorgesehen:
In der <Spaltenoptionsliste> können Optionen enthalten, die mit WITH OPTIONS eingeleitet werden und mit NOT NULLL, CHECK(Klausel) und SCOPE? in etwa den COLUMN CONSTRAINTS entsprechen.

Die CHECK-Option bewirkt, dass DML-Anweisungen, die dem WHERE-Bedingung der Sicht entsprechen, nicht angenommen werden.

Beispiele:

  -- Euro als DISTINCT-Typ definiert     
  CREATE TYPE euroTyp AS DECIMAL(20,2) FINAL; 

  -- instantiierbarer Typ, der kein Supertyp ist  
  CREATE TYPE artikel_typ AS (artikel_nr        NUMERIC(20), 
                              bezeichnung       VARCHAR(100),  
                              preis_netto       euroTyp) 
                              INSTANTIABLE  FINAL;

  -- Typisierte Sicht vom Typ artikel_typ 
  CREATE VIEW artikel_vt  OF artikel_typ (REF IS obj_id FROM (Artikel_nr))
  AS SELECT * Artikel_tt 
     WHERE  preis < 1000;
  WITH CHECK OPTION;

Quellen:

  • ANSI/ISO/IEC 9075-1:2003. Part 1 "SQL/Framework", ISO International Organization for Standardization / ANSI American National Standards Institute, September 2003
  • ANSI/ISO/IEC 9075-2:2003. Part 2 "SQL/Foundation", ISO International Organization for Standardization / ANSI American National Standards Institute, Dezember 2003
  • Türker, Can/Saake, Gunter: "Objektrelationale Datenbanken", dpunkt-verlag, Heidelberg, 2006, ISBN 3-89864-190-2

siehe auch: CREATE-TABLE-Typisiert

Kategorie: Objektrelationale DB, C