
sp_spaceused ושומרים את הפלט בטבלה משלנו.total rows, שטח שמור (reserved), נתונים, גודל אינדקסים ו-unused. שם הטבלה נשמר כ-sysname, מספר השורות כמספר שלם, והשאר כ-varchar בגודל 100, כי הערכים כוללים KB. העמודה reserved שונתה ל-MyData, כי זו מילה שמורה.sp_spaceused על פרמטר ולא על טבלה מסוימת.table name כ-input מסוג varchar, בגודל 100, במיקום 0.INSERT INTO לטבלת Space Used, כך שפלט הפרוצדורה נכנס ישירות אליה. הפרמטר מתעדכן על ידי הלולאה בכל טבלה.הטקסט המלא של הדקות הראשונות בהרצאה «לולאת Foreach ב-SSIS - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
כאמור בדוגמה שלפנינו אנחנו בהמשך לדוגמה קודמת רוצים לעבור טבלה אחר טבלה ועבור כל טבלה להריץ את הפקודה SP SPACE USED. את אותו פלט של הפרוצדורה אנחנו רוצים להכניס לתוך טבלה.
הטבלה עצמה נקרא לה SPACE USED והעמודות שיהיו לה בהתאמה בהתאם לפלט של הפקודת SPACE USED. תרצית אנחנו רוצים להכניס את הטייבל ניים שהוא הדאטה טייפ שלו מסוג סיס ניים.
אנחנו רוצים לקחת את ה-total rows שבשבילו אנחנו יכולים להגדיר איזשהו אינטג'ר. אנחנו יכולים להגדיר משתנה Reserved שגם הוא יכול להיות אינטג'ר אבל מאחר ויש לכולם דאטה שמכניס לנו גם את הקילו בייט אז כבר אנחנו מדברים כאן על משתנה שהוא חייב להיות מחוזתי ולכן את כולם נגדיר אותם כוורקר של 100. עבור ה-Reserved שברנו לעצמנו עמודה עבור ה-Table Data,
אינדקס דאטה ו-unused, נשנה את העמודות בהתאם לזה, אז יש לנו כאן את הדאטה, כאן יש לנו את ה-index size וכאן יש לנו את ה-unused.
הטבלה שלנו מוכנה, יש לנו כאן את העמודות שאליהן אנחנו רוצים להכניס את הנתונים, נשנה את זה ל-MyData מאחר שזו מילה שמורה, ה-reserved, total rows ו-TableName, אלו הם בעצם שמות העמודות שלהם אנחנו רוצים להכניס את הנתונים, והטבלה עצמה כרגע קיימת לרשותנו בתוך דאטאבייס
נורפרינד. נחזור לתוך הוויז'ואל סטודיו, אני עובר על כל טבלה וטבלה ואנחנו רוצים בפנים להריץ פקודת SP space used, להריץ את זה על השם של הטבלה שאותה אנחנו נקבל כפרמטר כתוצאה מה-foreach-loop-container.
לשם כך נבצע פקודת Execute SQL, נזרוק אותו כאן בתוך הקונטיינר. בתוך הקונטיינר לעצמו מתחבר אל הקונקשן סטרינג לתוך דאטה בסטנורפינג, נפתח את הסוגריים וכל מה שאנחנו רוצים להריץ כאן זה בדיוק את אותה פקודה שרשומה לנו כאן, sb space used.
נעתיק את הפקודה, נדביק אותה כאן. אנחנו כמובן לא מריצים אותה על טבלה ספציפית אלא אנחנו מריצים אותה על פרמטר. נרשום כאן אוקיי, מבחינת פרמטר מפינג נוסיף כאן פרמטר נוסף, נגדיל את המסך כדי שנוכל לראות את הכל, נבחר את הפרמטר שיש לנו אותו כאן והפרמטר קראנו לו table name, זה יהיה input parameter,
הוא לא מסוג long אלא הוא מסוג חוזר, הוא מכיל לנו שם של טבלה, אז נעביר אותו להיות varchar, הגודל שלו הוא 100 והפרמטר בעצמו, המיקום שלו בשאילתה יהיה 0. אז כאמור הגדרנו