SQL UPDATE

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

המבנה הכללי של כל משפט UPDATE יהיה:

UPDATE <שם טבלה>SET Col1=Value1, Col2=Value2...
WHERE <תנאי כלשהו>

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

על מנת שנבין טוב יותר את מהות משפטי ה - UPDATE נשתמש בטבלה הבאה ששמה בבסיס הנתונים יהיה Products:

Status Price Name Product_ID
פעיל 100 מוצר 1 123
פעיל 10 מוצר 2 124
לא פעיל 200 מוצר 3 125
לא פעיל 143 מוצר 4 105

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

UPDATE Products SET Price = 0
WHERE Status = 'לא פעיל';

תוצאת משפט ה - UPDATE שלנו תגרום לכך שטבלת Products תיראה כך:

Status Price Name Product_ID
פעיל 100 מוצר 1 123
פעיל 10 מוצר 2 124
לא פעיל 0 מוצר 3 125
לא פעיל 0 מוצר 4 105

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

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

UPDATE Products SET Price = (price + 2);

כך תיראה טבלת המוצרים שלנו כתוצאה ממשפט ה - UPDATE שבדוגמה:
Status Price Name Product_ID
פעיל 102 מוצר 1 123
פעיל 12 מוצר 2 124
לא פעיל 2 מוצר 3 125
לא פעיל 2 מוצר 4 105

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