יצירת שאילתת מחיקה המסירה רשומות מטבלה אחת או יותר המפורטות בפסוקית FROM אשר עונה על פסוקית WHERE.
תחביר
DELETE [table.*]
FROM table
WHERE criteria
משפט DELETE כולל חלקים אלה:
| חלק | תיאור |
| table | השם האופציונלי של הטבלה ממנה נמחקות רשומות. |
| table | שם הטבלה ממנה נמחקות רשומות. |
| criteria | ביטוי הקובע אילו רשומות למחוק. |
הערות
משפט DELETE יעיל במיוחד אם ברצונך למחוק רשומות רבות.
כדי להשמיט טבלה שלמה ממסד הנתונים, באפשרותך להשתמש בפעולת השירות Execute עם משפט DROP. עם זאת, אם תמחק את הטבלה, המבנה יאבד. בניגוד לכך, בעת שימוש במשפט DELETE, רק הנתונים נמחקים; מבנה הטבלה וכל מאפייני הטבלה, כגון אינדקסים ותכונות שדה, נותרים ללא שינוי.
באפשרותך להשתמש במשפט DELETE כדי להסיר רשומות מטבלאות המקיימות קשרי יחיד לרבים עם טבלאות אחרות. פעולות מחיקה מדורגת גורמות לרשומות בטבלאות הנמצאות בצד הרבים של קשרי הגומלין להימחק כאשר הרשומה המקבילה בצד היחיד של קשרי הגומלין נמחקת בשאילתה. לדוגמה, בקשרי הגומלין בין הטבלאות Customers ו- Orders, הטבלה Customers נמצאת בצד היחיד והטבלה Orders נמצאת בצד הרבים של קשרי הגומלין. מחיקת רשומה מהטבלה Customers גורמת למחיקת הרשומות המקבילות בטבלה Orders אם הוגדרה האפשרות מחיקה מדורגת.
שאילתת מחיקה מוחקת רשומות שלמות, ולא רק נתונים בשדות מסויימים. אם ברצונך למחוק ערכים בשדה מסויים, צור שאילתת עדכון המשנה את הערכים לערך Null.
חשוב
- לאחר הסרת רשומות באמצעות שאילתת מחיקה, אין באפשרותך לבטל את הפעולה. אם ברצונך לדעת אילו רשומות נמחקו, בדוק תחילה את תוצאותיה של שאילתת בחירה העושה שימוש בקריטריונים זהים ולאחר מכן הפעל את שאילתת המחיקה.
- שמור עותקי גיבוי של הנתונים שלך בכל עת. אם מחקת רשומות לא נכונות, באפשרותך לאחזר אותן מתוך עותקי הגיבוי שלך.
דוגמה למשפט DELETE
דוגמה זו מוחקת את כל הרשומות עבור עובדים שהתואר שלהם הוא Trainee. כאשר פסוקית FROM כוללת טבלה אחת בלבד, אינך צריך לפרט את שם הטבלה במשפט DELETE.
Sub DeleteX()
Dim dbs As Database, rst As Recordset
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
' Delete employee records where title is Trainee.
dbs.Execute "DELETE * FROM " _
& "Employees WHERE Title = 'Trainee';"
dbs.Close
End Sub
|