תוכן עניינים:

האם אוכל להעביר משתנה טבלה לנוהל מאוחסן?
האם אוכל להעביר משתנה טבלה לנוהל מאוחסן?

וִידֵאוֹ: האם אוכל להעביר משתנה טבלה לנוהל מאוחסן?

וִידֵאוֹ: האם אוכל להעביר משתנה טבלה לנוהל מאוחסן?
וִידֵאוֹ: Table Valued Parameters in Stored Procedures | SQL | SQL Training Sessions 2024, נוֹבֶמבֶּר
Anonim

העברת טבלת נתונים כפרמטר לפרוצדורות מאוחסנות

  • צור הגדרת משתמש שולחן סוג המתאים ל- שולחן שאתה רוצה לאכלס.
  • לַעֲבוֹר המוגדר על ידי המשתמש שולחן אל ה הליך מאוחסן כ פָּרָמֶטֶר .
  • בתוך ה הליך מאוחסן , בחר את הנתונים מהעבר פָּרָמֶטֶר והכנס אותו לתוך שולחן שאתה רוצה לאכלס.

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

אתה חייב להשתמש בסעיף READONLY כאשר עובר פנימה ה שולחן מוֹעֳרָך משתנה לתוך ה תהליך . נתונים ב ה משתנה טבלה לא ניתן לשנות -- אתה יכול להשתמש בנתונים ב ה שולחן לכל פעולה אחרת. גַם, אתה לא יכול להשתמש משתני טבלה כפרמטרי פלט -- אתה יכול רק להשתמש משתני טבלה כפרמטרי קלט.

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

מכאן, האם נוכל להעביר את DataTable לנוהל מאוחסן?

אנחנו יכולים לעבור ה טבלת נתונים אל ה נוהל מאוחסן באמצעות ADO. Net באותו אופן כמו אָנוּ מסופק באמצעות המערכת. נתונים. מחלקה SqlParameter, אבל צריך כמה שינויים ב-datatype. בדרך כלל אָנוּ ספק DbType של SqlParameter עבור פרמטר רגיל כמו varchar, nvarchar, int וכן הלאה, כמו בקוד הבא.

מהו סוג טבלה המוגדר על ידי משתמש?

מִשׁתַמֵשׁ - טבלאות מוגדרות מייצגים מידע טבלאי. הם משמשים כפרמטרים כאשר אתה מעביר נתונים טבלאיים לפרוצדורות מאוחסנות או מִשׁתַמֵשׁ - מוּגדָר פונקציות. מִשׁתַמֵשׁ - טבלאות מוגדרות לא ניתן להשתמש לייצוג עמודות במסד נתונים שולחן . מִשׁתַמֵשׁ - סוגי טבלאות מוגדרים לא ניתן לשנות לאחר יצירתם.

מוּמלָץ: