PracticU

יצירת Stored Procedure
לביצוע עדכון נתונים - EF

בלי כתוביותעם כתוביות
PracticU › קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט › יצירת Stored Procedure לביצוע עדכון נתונים - EF
מילון מושגים:
פרוצדורה מאוחסנת - קטע קוד SQL שמור במסד הנתונים שאפשר להפעיל לפי שם, לביצוע חוזר של פעולות על הנתונים.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.
מודל - רכיב שמייצג את הנתונים ואת הלוגיקה העסקית באפליקציה. גם ייצוג מופשט של מערכת או תהליך.
DELETE - פקודת SQL למחיקת שורות מטבלה. גם שיטת HTTP לבקשת מחיקה של משאב בשרת.
CRUD - ראשי התיבות של ארבע הפעולות הבסיסיות על נתונים: יצירה, קריאה, עדכון ומחיקה.
Integer - סוג נתונים למספר שלם, כלומר מספר ללא חלק עשרוני.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.

יצירת Stored Procedure לביצוע עדכון נתונים - EF
עד כה נבנו רק Stored Procedures שבוחרות מידע. כאן בונים Procedure שמוסיפה רשומה לטבלה, ומוסיפים אותה למיגרציה כדי שתיווצר בדאטה בייס.
השלבים העיקריים
1. סוגי Procedures שנבנו עד כה: אחת בוחרת מידע שמתאים למודל (model mapping), ואחת בוחרת מידע שלא מתאים ולכן נבנתה בשבילה מחלקת DTO (DTO mapping).
2. Procedure ללא בחירה: Procedure שמוסיפה, מעדכנת או מוחקת נקראת CUD (create, update, delete), ולא CRUD, כי אין בה read.
3. יצירת add gift: משתמשים ב-create or alter procedure עם שלושה פרמטרים: @name מסוג nvarchar 100, @price מסוג money ו-@h group id מסוג integer.
4. הגוף: פקודת insert into gifts עם הערכים מהפרמטרים.
5. המיגרציה: מעתיקים את ה-create ואת ה-drop (drop procedure if exists) למיגרציה המתאימה.
6. הטעינה: מוחקים מטבלת היסטוריית המיגרציות את הרשומה של המיגרציה, ואז מריצים update database ב-Visual Studio. אחרי refresh נראית ב-Stored Procedures הרשימה החדשה add gift.
פקודות והגדרות
הפקודה set no count on; מכבה את ההודעה שאומרת כמה רשומות הושפעו מ-insert, update או delete. המרצה מציין שזה קצת מהיר יותר, ושמוסיפים אותה כשלא צריכים את הנתון הזה בחזרה. מי שכן רוצה לקבל אותו לא מגדיר את הדגל.
שימו לב
המרצה מזכיר גם את המונח DML, Data Manipulation Language, שמתייחס לאותן שלוש הפקודות.
בסוף ההרצאה ה-Procedure add gift קיימת בדאטה בייס, ואפשר לכתוב קוד שקורא לה, כפי שנעשה בהרצאה הבאה.
השיעור הבא בקורס: שימוש ב-Stored Procedure ב-Entity Framework Core

פרקי ההרצאה: יצירת Stored Procedure לביצוע עדכון נתונים - EF

  1. 00:00

    סוגי Stored Procedure לבחירת מידע

  2. 00:42

    יצירת Procedure בשם Add Gift

  3. 01:20

    שאילתת INSERT עם הפרמטרים

  4. 02:00

    הפקודה SET NOCOUNT ON

תמלול ההרצאה: יצירת Stored Procedure לביצוע עדכון נתונים - EF

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

  1. 00:02

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

  2. 00:20

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

  3. 00:56

    או אלטר פרוסיג'ר אד גיפט שמקבלת את כל מה שגיפט אמורה לקבל, וגיפט אמורה לקבל שטרודל name, הסוג ראינו שזה nvarchar 100, היא אמורה לקבל שטרודל price, money, והיא אמורה לקבל שטרודל h group id, שזה אינטג'ר, בואו ניפטר מכל אלה, ואז השאילתה עצמה זה insert into gifts,

  4. 01:29

    את ה-values, שטורודל ניים, שטורודל פרייס, שטורודל אייג' גרופ איי-די. כל אלה אפשר להיפטר, יופי. יש לנו כאן שאילתת SQL שאומרת, תשמעו, תנו לי שם, מחיר וקוד של טווח גילאים ואני פשוט אוסיף אותו כרשומה חדשה לטבלת המתנות.

  5. 01:57

    פקודה נוספת שהרבה מתכנתים מוסיפים כאשר הם בונים סטורט פרסיג'ר שעושה אינסרט, אפדייט או דיליט, ספציפית שלושת אלה, זאת הפקודה set no count on עם נקודה פסיק. ברגע שאתם מריצים בדאטאבייס פקודת אינסרט או אפדייט או דיליט, ספציפית אחת משלושת הפקודות האלה, זה פקודות מיוחדות שנקראות dml command או cad command.

  6. 02:23

    dml זה data manipulation language, זה פקודות Insert, Update ו-Delete או DTL או כמו שאמרנו CAD זה קיצור של Create, Update או Delete. Create, Update, Delete.

  7. 02:38

    זה התכוונתי משהו אחר, זה התכוונתי ש-DTML זה Data Manipulation Language. זה בעצם מדבר על אותו דבר. Data Manipulation Language זה פקודות בדאטאבייס שהם Insert, או במילים אחרות

לקורס המלא: קורס Entity Framework Core

ההרצאה הקודמת: שימוש ב-Stored Procedure - על-ידי DTO

ההרצאה הבאה: שימוש ב-Stored Procedure - ב-Entity Framework Core

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

  • הכל על Stored Procedure
  • קריאה ל-Stored Procedure
  • עדכון נתונים ב-MongoDB
  • יצירת מילות מפתח - לביצוע טסטים דינמיים

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

  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio