Bemutató (részletek) mysql - mindent róla, és a programozás

Page 2 4

létrehozása Views

Ahhoz, hogy hozzon létre egy prezentáció az üzemeltető létrehozása céljából, amely a következő szintaxist:

CREATE [VAGY HELYETTESÍTSE]
[ALGORITMUSA =]
NÉZET view_name [(column_list)]
AS select_statement
[IGEN [Cascaded / HELYI] ellenőrzése Opció]

view_name - nevet az új bemutatót. select_statement - a SELECT, kiválasztja a táblából és / vagy más nézeteket kell tartalmaznia a prezentáció

CREATE VIEW nyilatkozat tartalmazza 4 választható konstrukciók:

  1. VAGY CSERE - ha ez a szerkezet esetében létezik a régi és az azonos nevű törlődik, és az új jön létre. Ellenkező esetben hiba történik, és közölte velük a sschestvovanii előadás az azonos nevű, és egy új nézet nem hozható létre. Meg kell jegyezni, az egyik jellemzője - a nevét a táblák és nézetek egyetlen adatbázis egyedinek kell lennie, azaz Ön nem hozhat létre olyan nézetet, a nevét egy meglévő táblázat. Azonban VAGY CSERE kialakítás működik, csak az előadás, és nem szorít az asztalra.
  2. Algoritmus - meghatározza a használt algoritmus, amikor hivatkozva a bemutató (több erről később).
  3. column_list - meghatározza a bemutatása területén nevek.
  4. WITH CHECK OPTION - ha ez a szerkezet minden hozzáadott vagy módosított sorok lesznek vetni a meghatározás kilátás. Abban az esetben, ez a módosítás nem hajtható végre ellentmondást. Felhívjuk figyelmét, hogy a bemutató nem megújuló egy hibát, és a bemutató nem jön létre, amikor meghatározza a design. (További kérdés erről később).

Az alapértelmezett nézet oszlopok nevei megegyeznek a mezők táplálják a SELECT a nézet meghatározása. Ha kifejezetten meg benyújtásának mezőnevek column_list tartalmaznia kell egy név minden olyan területen, vesszővel elválasztva. Ennek két oka van, hogy miért kívánatos használni kifejezett megjelölése benyújtásának mezőnevek:

  1. Nevek benyújtás területeken belül egyedinek kell lennie egy adott bemutatót. Amikor létrehoz egy előadás alapján az asztalok száma is lehetséges, hogy egy ismételt bemutatása mezőnevek. Például: CREATE VIEW v AS SELECT a.id, b.id A, B; Annak elkerülése érdekében, egy ilyen helyzetben, akkor kell meghatároznia, hogy a nevének megjelenítéséhez mezők
    CREATE VIEW v (a_id, b_id) AS SELECT a.id, b.id A, B; Ugyanez az eredmény érhető el a szinonimák segítségével (álnevek) a oszlopfejlécek:
    CREATE VIEW v AS SELECT a.id a_id, b.id b_id A, B;
  2. Ha a meghatározásában ábrázolás beérkezett adatok alakítjuk segítségével bizonyos funkciók, a mező nevét kapnak kifejezés, ami nem túl kényelmes a további utalás ezen a területen. napimer:
    CREATE VIEW v AS SELECT group_concat (KÜLÖNÁLLÓ oszlop_neve oreder BY oszlop_neve elválasztó `` +) FROM táblanév; Alig kényelmes a használata a jövőben, mint a mező neve `group_concat (nem azonos felhasználónév ORDER BY felhasználónevét separator` +`) `
  1. Ha mind a piaci szereplők megfelel az állapot, amikor ezen mindkét feltétel teljesül, mintha kombinált ÉS.
  2. Ha a nézet definíció ORDER BY design, akkor csak akkor fog működni hiányában a SELECT a külső, utal a képviseletét a saját rendezési feltételeket. Jelenlétében az ORDER BY külső nyilatkozat válogatás, amely elérhető a nézet meghatározása, akkor figyelmen kívül hagyja.
  3. Jelenlétében mindkét szereplő módosító befolyásoló reteszelő mechanizmus, mint például HIGH_PRIORITY, az eredménye, hogy kombinált akció nem definiált. A félreértések elkerülése végett ajánlott a nézet meghatározása nem használja ezeket a módosítókat.