|
![]() | Příkaz DROP DOMAIN | ![]() | SQL příkazy | Příkaz DROP VIEW | ![]() |
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
![]() | Příkaz DROP DOMAIN | ![]() | SQL příkazy | Příkaz DROP VIEW | ![]() |