PracticU

פקודות UPDATE על VIEW עם JOIN

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › פקודות UPDATE על VIEW עם JOIN
מילון מושגים:
View - רכיב שאחראי על הצגת המידע למשתמש (התצוגה) בדפוס MVC. גם טבלה וירטואלית מבוססת שאילתה במסד נתונים.
Join - פעולת SQL שמשלבת שורות משתי טבלאות או יותר על בסיס קשר ביניהן.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.

פקודות UPDATE על VIEW עם JOIN
ההרצאה ממשיכה עם View שמחבר בין שתי טבלאות, ומראה מה אפשר ומה אי אפשר לעדכן דרכו.
השלבים העיקריים
1. יצירת View עם JOIN: ה-View מחבר בין Products ל-Categories ומציג את שם המוצר, המחיר ושם הקטגוריה, לכל מוצר שמחירו גבוה מ-50.
2. עדכון עמודה מטבלה אחת: אפשר לעדכן את המחיר דרך ה-View, כי העמודה שייכת לטבלה אחת.
3. עדכון מכמה טבלאות יחד: פקודה אחת שמעדכנת גם את המחיר ב-Products וגם את שם הקטגוריה ב-Categories נכשלת, כי השינוי נוגע ביותר מטבלה אחת.
4. הפתרון: מפצלים את הפעולה לשתי פקודות UPDATE נפרדות, כל אחת על טבלה אחת. ב-Products מעדכנים את המוצר, וב-Categories את שם הקטגוריה.
שימו לב
- הודעת השגיאה מציינת שהשינוי משפיע על כמה טבלאות, ולכן הוא לא יכול להתבצע בפקודה אחת דרך ה-View.
בסיום יודעים לעדכן View שמחובר לכמה טבלאות, על ידי פיצול השינוי לפי הטבלאות.
השיעור הבא בקורס: הצפנת Encryption View

פרקי ההרצאה: פקודות UPDATE על VIEW עם JOIN

  1. 00:00

    הכנת שאילתה עם JOIN ותנאי סינון

  2. 01:19

    יצירת View למוצרים שמחירם מעל 50

  3. 02:00

    עדכון מחיר דרך View על טבלה אחת

  4. 02:42

    ניסיון לעדכן שתי טבלאות באותו View

  5. 03:17

    שגיאה: View שמשתנה ממספר טבלאות

  6. 03:56

    פיצול העדכון לשתי פקודות UPDATE

תמלול ההרצאה: פקודות UPDATE על VIEW עם JOIN

הטקסט המלא של הדקות הראשונות בהרצאה «פקודות UPDATE על VIEW עם JOIN» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:21

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

  2. 00:43

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

  3. 00:56

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

  4. 01:11

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

  5. 01:27

    at view prod more than 50 as בדוגמה כאן אנחנו בעצם לקחנו את הסלקט ויצרנו ממנו view F5 completed successfully אני מקבל אינדיקציה שהכל עבר בשלום והשאלה מכאן נשאלת לענייננו לנושא שלפנינו האם כאן אני יכול לבצע פעולות dml פעולות של מניפולציה בבסיס הנתונים בואו ננסה לבצע את update Update Set Unit Price = 90 שימו לב שאת ה-view

  6. 02:01

    הזה לא יצרתי עם צ'ק אופשן וממילא אני פטור מהחשש שמא אני משנה כאן משהו שהוא נמצא ב-Wear Close ואף על פי כן כשאני משנה כאן עמודה לתוך view אשר נוצר ממספר טבלאות שימו לב אני מקבל כאן שה-Unit Price שלי הוא משתנה.

  7. 02:39

    מה יקרה בשעה שאני ארצה לשנות גם את ה-Unit Price, לשנות אותו ל-90, ולצד זה את ה-Unit Price שקיבלתי מ-Products, אני רוצה גם לשנות את הקטגוריה Category Name שהשם שלה ב-View שלנו הוא Category Name, אנחנו רוצים לשנות ל-Test 1. האם השינוי הזה יתבצע?

  8. 03:09

    שימו לב שאני על ידי View 1 יוצר שינוי בטבלת Products בעמוד ה-Unit Price, ויוצר שינוי בטבלת Categories עבור עמודה Category Name.

  9. 03:23

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

  10. 03:39

    לאמור מעתה נמצאנו למדים שאילתה כזאת המבצעת עדכון על View השוכן לו על שתי טבלאות, יש לחלק אותה לשניים יש לבצע update אחד שהוא עבור כל העמודות בטבלת product גם כאן אני יכול לשנות את

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: יצירת אוביקט VIEW

ההרצאה הבאה: הצפנת Encryption View

הרצאות קשורות מקורסים אחרים

  • Qlik Join - חלק 1
  • Debug View
  • View Group
  • Swarm Update & Rollback

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI