טבלאות זמני של SQL Server מאחסנות נתונים באופן זמני. אתה יכול לבצע את אותן פעולות - כמו SELECT, INSERT, DELETE ו-UPDATE - בטבלה זמנית כמו בטבלת SQL רגילה.
טבלאות Temp חיות במסד הנתונים tempdb והן גלויות רק במהלך החיבור. כאשר אתה מפסיק את החיבור, SQL Server מוחק את טבלת הזמנים. אתה יכול גם למחוק אותו במפורש בכל עת.
סוגי טבלאות טמפ' של SQL Server
ישנם שני סוגים של טבלאות זמניות של SQL Server: מקומית וגלובלית.
טבלת טמפ' מקומית
טבלת זמני מקומית גלויה רק לחיבור שיצר אותה. כאשר החיבור הזה מסתיים, או שהמשתמש מתנתק מה- SQL Server למשל, טבלת טמפ' מקומית נשמטת אוטומטית.
כדי ליצור טבלה זמנית מקומית, השתמש בסמל hash יחיד (#) בתחילת שם הטבלה עם המשפט CREATE TABLE. הנה התחביר.
לִיצוֹרשולחן#TempTable (
עמודה 1 INT,
עמודה2 VARCHAR(50)
);
לדוגמה, הקוד הבא יוצר טבלה זמנית בשם TempCustomer עם שם ושדה דוא"ל.
לִיצוֹרשולחן#TempCustomer (
ID int NOT NULL PRIMARY KEY
שם מלא VARCHAR(50),
דוא"ל VARCHAR(50)
);
טבלת טמפ' גלובלית
טבלת זמני גלובלית היא טבלה זמנית הנראית לכל החיבורים והמשתמשים. SQL Server יסיר אותו כאשר כל החיבורים והמשתמשים המתייחסים לטבלה יתנתקו.
כדי ליצור טבלת זמני גלובלית, הקדמת שם הטבלה ב-hash כפול (##) והשתמש במשפט CREATE TABLE.
לִיצוֹרשולחן##TempTable (
עמודה 1 INT,
עמודה2 VARCHAR(50)
);
הקוד הבא יוצר טבלת טמפ' גלובלית בשם TempCustomer.
לִיצוֹרשולחן##לקוח זמני (
ID int NOT NULL PRIMARY KEY
שם מלא VARCHAR(50),
דוא"ל VARCHAR(50)
);
קוד זה דומה לדוגמא של טבלת הטמפ' המקומית, רק עם שני סמלי hash במקום אחד. עכשיו אתה יכול להשתמש פקודות SQL סטנדרטיות כדי להוסיף או לתפעל את הנתונים בטבלה הזמנית.
איך להוריד טבלת טמפ'
המופע של SQL Server מוריד אוטומטית טבלה זמנית כאשר כל המשתמשים המתייחסים אליו התנתקו. כתרגול מומלץ, עליך תמיד להוריד במפורש את טבלאות הזמנים שלך כדי לפנות את זיכרון tempdb.
כדי להוריד טבלה זמנית, השתמש במשפט DROP TABLE IF EXISTS ואחריו שם טבלת הזמנים.
הנה איך להוריד את טבלת #TempCustomer:
יְרִידָהשולחןאםקיים#לקוח זמני
השתמש באותו קוד אך החלף את שם הטבלה כדי להוריד טבלת זמני גלובלית.
יְרִידָהשולחןאםקיים##לקוח זמני
שימושים טיפוסיים בטבלאות SQL Temp
טבלאות טמפ' שימושיות כאשר אתה צריך לאחסן תוצאות ביניים של שאילתות מורכבות שאתה צריך להמשיך לעבד. לדוגמה, בעת יצירת דוחות, ייתכן שיהיה עליך ליצור טבלאות זמניות כדי לאחסן תוצאות שאילתות ממספר מסדי נתונים. לאחר מכן תוכל להפיק את הדוח הסופי על ידי הפעלת שאילתה מול הטבלאות הזמניות.
תרחיש נוסף שבו טבלאות זמניות שימושיות הוא כאשר אתה צריך את תוצאות השאילתה מטבלה אחת כדי להפעיל שאילתה אחרת. אתה יכול לאחסן את התוצאות בטבלה זמנית ולאחר מכן להתייחס אליה בשאילתה החדשה שלך. בעיקרו של דבר, אתה משתמש בטבלת הזמנים כטבלת עבודה או חיץ כדי להחזיק את הנתונים הדרושים לך לביצוע משימה ספציפית.
שימוש בטבלאות טמפ' ב-SQL Server
אתה יכול להשתמש בטבלאות זמניות של SQL Server כדי לאחסן ולעבד נתונים באופן זמני. ישנם שני סוגים של טבלאות טמפ', מקומיות וגלובליות. טבלת זמניות מקומית גלויה לחיבור שבו היא נוצרה ואילו טבלת זמניים גלובלית גלויה בכל החיבורים.
טבלאות זמניות נהרסות אוטומטית כאשר אתה מתנתק ממופע השרת. עם זאת, כדי לשמור על זיכרון, אתה תמיד צריך להפיל אותם לאחר השימוש.