ההבדל בין הדק לנוהל

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 1 אַפּרִיל 2021
תאריך עדכון: 17 מאי 2024
Anonim
ההבדל הדק בין גבר לאישה !
וִידֵאוֹ: ההבדל הדק בין גבר לאישה !

תוֹכֶן


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

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

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. סיכום

טבלת השוואה

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


הגדרה של טריגר

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

ניתן להפעיל את ההדק בתגובה ל- DDL הצהרות (מחיקה, הכנס או עדכון), או DML הצהרות (מחיקה, הוספה או עדכון) או לפעולות מסד נתונים מסוימות (SERVERERROR, LOGON, LOGOFF, STARTUP או SHUTDOWN).

ההדק מורכב משלושה רכיבים כפי שיפורט בהמשך:

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

להלן צורת היצירה הכללית של אירוע:


צור טריגר לפני / אחרי פעולת תנאי;

כאן, מצב הוא לא חובה.

הגדרת נהלים

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

הנהלים מועילים במצבים הבאים:

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

נדון בצורת הכללית של יצירת נוהל:

צור פרוצדורה () החזרות ;

כאן הפרמטרים וההצהרות המקומיות הם אופציונליים. הם מוזכרים רק כאשר הם נדרשים. ההצהרה שלהלן מתארת ​​את קריאת הנהלים.

התקשר () ;

  1. ההבדל העיקרי בין טריגר לפרוצדורה הוא שהטריגר הוא הצהרה המופעלת אוטומטית כאשר התרחש אירוע. מצד שני, הנוהל מופעל בכל פעם שהוא נדרש.
  2. ניתן להגדיר נוהל בתוך טריגר. עם זאת, ההדק לא מוגדר אף פעם בפרוצדורה שכן יש להפעיל את ההדק באופן אוטומטי בעת התרחשות אירוע כלשהו.
  3. אנו יכולים להעביר פרמטרים להליכים, אך איננו יכולים להעביר פרמטרים להפעלת משום שהם אינם מופעלים על ידינו.
  4. הליך יכול להחזיר ערכים או קוד פרמטר, אך, ההדק לא יכול.

סיכום:

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