PracticU

פונקצית Multi Statement

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › פונקצית Multi Statement
מילון מושגים:
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.

פונקצית Multi Statement
בשיעור הזה בונים Multi-Statement Table-Valued Function: פונקציה שמחזירה טבלה שמוגדרת מראש, ובגוף שלה אפשר לכתוב כמה פקודות לפני ההחזרה.
השלבים העיקריים
1. הגדרת מבנה הטבלה: בכותרת כותבים RETURNS @tblReturnedValue TABLE ואחריו הגדרת העמודות. בדוגמה יש עמודה אחת לשם העובד מסוג varchar(50).
2. פרמטר המצב: הפונקציה GetNames מקבלת @str מסוג varchar(10), שקובע מה יוחזר.
3. בדיקת הערך: בגוף יש IF על @str. אם הערך הוא last מוכנסים לטבלה שמות המשפחה, ואם הוא first מוכנסים השמות הפרטיים.
4. ברירת מחדל: בענף ה-ELSE, כל ערך אחר מחזיר את השם הפרטי ושם המשפחה משורשרים יחד.
5. החזרה: שורת RETURN בסוף הגוף היא בלי ערך, כי הטבלה כבר מכילה את הנתונים.
6. קריאה: מפעילים את הפונקציה ב-FROM ושולחים לה 'last', 'first', או ערך אחר כמו 'full'.
שימו לב
בניגוד לפונקציה Inline, כאן מותר להכניס כמה פקודות לגוף, כגון IF ו-INSERT לתוך הטבלה.
בסיום תוכלו לבנות פונקציה טבלאית עם לוגיקה מותנית.
השיעור הבא בקורס: פונקציות מערכת - קונפיגורציה

פרקי ההרצאה: פונקצית Multi Statement

  1. 00:00

    חזרה: פונקציות שמחזירות טבלה מסוג Inline

  2. 01:13

    פונקציית Multi-Statement מהתבנית

  3. 01:49

    יצירת הפונקציה וערך ההחזרה מסוג טבלה

  4. 02:27

    הגדרת עמודות הטבלה המוחזרת

תמלול ההרצאה: פונקצית Multi Statement

הטקסט המלא של הדקות הראשונות בהרצאה «פונקצית Multi Statement» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:19

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

  2. 00:42

    אנחנו נשוב וניזכר שהיא בעצם מיוצרת און די פליי כחלק מפקודת הריטרן, חלק משורת ה-Return Value, אני מייצר כאן טבלה ומחזיר אותה. יתרונה וחסרונה שאני צריך לייצר את הטבלה ולהחזיר אותה על ידי פקודת Select אחת בלבד.

  3. 01:03

    בשיעורנו היום אנחנו ננסה לראות איך אנחנו, דרך ה-Template Explorer, בתוך Functions, לא מייצרים טבלה InlineTabledValueFunctions, פונקציה שמחזירה מבנה טבלאי כ-Inline אלא Multi-Statement, דהיינו פונקציה שמחזירה מבנה טבלאי אבל ניתן לרשום בה יותר מפקודה אחת, יותר משורת קוד אחת,

  4. 01:29

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

  5. 01:37

    דאבל קליק על הטמפלט, אנחנו מקבלים אותו כרגע בתוך ה-query שלי, בואו נתחבר לטבלה שלנו, אנחנו מתחברים לתוך הדאטאבס לנורפווינד וכרגע בתוך הנורפווינד קיבלתי את הטמפלט עצמו.

  6. 01:52

    בואו נגדיל את המסך Alt Shift Enter נמחק את השורות הללו שאינן רלוונטיות כרגע מבחינתנו ואנחנו כבר יכולים לגשת לטורף העניין. קריאט פאנקשן ליצור פונקציה שימו לב לקטע המעניין עד כאן ללא שינוי אני צריך לתת את השם של הפונקציה לאחר מכן בתוך סוגריים עגולים לציין מהם הפרמטרים הנשלחים לפונקציה, אבל אז מגיע הקטע

  7. 02:21

    המעניין והשונה שלנו במולטי סטייטמנט בשורת ה-returns. בשורת ה-returns בה אני צריך לציין מהו הדאטה טייפ המוחזר מהפונקציה, כאן הדאטה טייפ הוא טבלה, טייבל.

  8. 02:35

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

  9. 03:00

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

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: פונקצית Inline table

ההרצאה הבאה: פונקציות מערכת - קונפיגורציה

הרצאות קשורות מקורסים אחרים

  • Dockerfile Multi-Stage
  • Optionals: The Guard Let statement
  • אופיס 365 Multi-Factor Authentication
  • Azure MFA - Multi-Factor Authentication

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI