SQL CREATE VIEW

ניתן להתייחס ל - VIEWS כאל טבלאות וירטואליות. כמו טבלאות גם VIEWS מכילים הגדרות של עמודות וסוגי מידע שעמודות אלה יכולים להכיל. ההבדל בין טבלאות לבין VIEWS הוא שבטבלאות נשמרים נתונים באופן פיסי ואילו ב - VIEWS הנתונים אינם נשמרים באופן פיסי בתוכם אלא הם רק מציגים נתונים הנשמרים בטבלאות. עקב כך, לא ניתן לעדכן או להוסיף נתונים ל - VIEWS כפי שעושים לטבלאות.

הצורה כללית של פקודת CREATE VIEW היא:

CREATE VIEW <VIEW NAME> AS SQL Statement;

יצירת VIEW מטבלה אחת:

לצורך הדוגמה נניח שנתונה לנו טבלה ששמה Sapakim במבנה הבא:

City City Address Name ID

בדוגמה שלנו נרצה להקים VIEW ששמו SapakimAddr שתכיל שמות ספקים וכתובתם בלבד. משפט ה - SQL שלנו ייראה כך:

CREATE VIEW SapakimAddr AS SELECT NAme, Address FROM Sapakim;

כתוצאה מ - VIEW זה נקבל טבלה וירטואלית שבה יהיו שתי עמודות: Name ו - Address.

יצירת VIEW בתוספת משפט תנאי:

בדוגמה הבאה נרצה להפיק VIEW ששמו יהיה SapakimAddrJerusalem ואשר יכיל שמות כל הספקים וכתובתם אשר עיר מגוריהם היא ירושלים. במקרה זה משפט ה - SQL שלנו ייראה כך:

CREATE VIEW SapakimAddrJerusalem as SELECT Name, Address FROM Sapakim WHERE City = 'ירושלים';

הוספת הפסוקית WHERE מאפשרת לנו לבחור את אותם נתונים העונים לקריטריונים שלנו לצורך ה - VIEW ובכך ליצור מעין תת טבלה מתוך טבלה קיימת.

יצירת VIEW משתי טבלאות ויותר:

לעתים נרצה ליצור VIEW מנתונים הנמצאים ביותר מאשר טבלה אחת. נניח למשל שיש לנמו טבלה נוספת ששמה ShotefPlus ובה תנאי האשראי של הספקים בחברה. מבנה הטבלה יהיה כזה:

Credit SapakID
   

בדוגמה שלנו ניצור VIEW ששמו יהיה SapakimCredit שבו נרצה לראות את כל שמות הספקים ואת תנאי האשראי שלהם. משפט ה - SQL שלנו ייראה כך:

CREATE VIEW SapakimCredit AS SELECT Sapakim.Name, ShotefPlus.Credit Inner Join ShotefPlus ON Sapakim.ID = ShotefPlus.SapakID;

ב - VIEW זה עשינו שימוש בפסוקית Inner Join כדי ליצור קשר בין שתי טבלאות. כמובן שיכולנו להשתמש כמעט בכל סוג של משפט SQL על פי צרכינו כדי לקבל את התוצאות הרצויות לנו.

עדכון VIEW קיים באמצעות הפסוקית CREATE OR REPLACE VIEW

ניתן לעדכן VIEW קיים בבסיס הנתונים שלנו. נניח שנרצה לשנות את ה - VIEW שלנו מהדוגמה הקודת כך שיכיל גם את עמודת City מטבלת הספקים. נעשה זאת בדרך הבאה:

Replace VIEW SapakimCredit AS SELECT Sapakim.Name, Sapakim.City ShotefPlus.Credit Inner Join ShotefPlus ON Sapakim.ID = ShotefPlus.SapakID;

מחיקת VIEW מבסיס הנתונים

המבנה הכללי של משפט ה - SQL למחיקת VIEW הוא:

DROP VIEW <View Name>

מחיקת VIEWS אפשרית רק לגבי VIEWS קיימים בבסיס הנתונים. ניסיון למחיקת VIEW לא קיים יחזיר שגיאה.


 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש