top of page

מדריך T-SQL - משתנים מסוג טבלה

עודכן: 21 באוק׳ 2020


ree

מה זה משתנה טבלאי?

בפוסט הקודם על משתנים ב- SQL Server, ציינתי שבדרך כלל משתנים מסוגלים להכיל ערך אחד בלבד. ערך שיוכנס למשתנה שכבר מכיל ערך אחר יתפוס את מקומו (ידרוס אותו). הכלל הזה נכון בכל המקרים למעט משתנים מסוג טבלה (table). משתנה טבלאי מסוגל להכיל מערך נתונים שלם (dataset)ולמשך ריצת התכנית מתנהג כמו טבלה זמנית – ניתן לבצע עליו את כל הפעולות שנרצה לעשות על טבלה רגילה וגם הוא מאוחסן רק בזיכרון באופן זמני ולא נשמר באופן קבוע בבסיס הנתונים.


הגדרת משתנה מסוג טבלה

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

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

עבודה עם משתנה טבלאי

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



ree

נזכיר שוב שהמשתנה אינו נשמר בשום מקום ולכן כל פעולה שנרצה לבצע על הטבלה חייבת להגיע באותה הרצה עם ההגדרה עצמה. אם ננסה להריץ רק את ה-SELECT האחרון למשל (שורה שלישית מהסוף), נקבל שגיאה כי השרת לא יזהה את שם המשתנה tableVar@.

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

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

תגובות


bottom of page