602SQL-Úplná dokumentace Index  

Příkaz CREATE VIEW (SQL)

příkaz_CREATE_VIEW ::= CREATE [ IF NOT EXISTS ] VIEW [schéma.]jméno_dotazu [ ( jméno_sloupce {, jméno_sloupce }… ) ] 
    AS dotazový_výraz

Popis

Příkaz CREATE VIEW vytvoří pevný dotaz uložený v databázi (v praxi se spíše však používají klientské návrháře). Základem dotazu je dotazový výraz, který vybere množinu záznamů z jedné nebo více tabulek. Jména sloupců v odpovědi na dotazový výraz lze změnit uvedením seznamu jmen v závorkách před vyhrazeným slovem AS.

V databázi je uložena pouze textová definice dotazu. Při každém otevření (použití) se odpověď generuje z aktuálních dat.

Maximální délka jména dotazu je 31 znaků. Dotaz musí mít unikátní jméno v rámci schématu. Pokud dotaz zadaného jména již existuje, pak je-li použita klauzule IF NOT EXISTS, příkaz neprovede žádnou akci, v opačném případě dojde k chybě - nastatane chybový sqlstate 40004 (KEY_DUPLICITY).

Editovatelné dotazy lze použít v SQL příkazech UPDATE, INSERT a DELETE místo tabulek. Také je lze použít při konstrukci dotazových výrazů SELECT nebo příkazu SELECT INTO. Pevné dotazy lze v rutinách otevřít příkazem OPEN, procházet a číst jeho řádky příkazem FETCH, odvolávat se na jeho běžný záznam v příkazech UPDATE CURRENT OF a DELETE CURRENT OF a nakonec jej uzavřít příkazem CLOSE.

Odlišnosti od normy

Příklady použití:

CREATE VIEW Plat6000 AS
    SELECT *
    FROM Zamestnan
    WHERE plat<6000
    ORDER BY prijmeni
CREATE VIEW Platy (Suma_Platu, Nazev_Odd) AS
    SELECT SUM(Zamestnan.plat),Oddeleni.nazev
    FROM Zamestnan, Oddeleni
    WHERE Oddeleni.cislo=Zamestan.oddeleni
    GROUP BY Zamestan.oddeleni

Viz