הבדל בין נוהל מאוחסן לפונקציה

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

הבדל בין נוהל מאוחסן לפונקציה
הבדל בין נוהל מאוחסן לפונקציה

וִידֵאוֹ: הבדל בין נוהל מאוחסן לפונקציה

וִידֵאוֹ: הבדל בין נוהל מאוחסן לפונקציה
וִידֵאוֹ: כוח קוריוליס, הכוח הצנטריפוגלי ואנרגיה 2024, יולי
Anonim

הליך מאוחסן לעומת פונקציה

פרוצדורות ופונקציות מאוחסנות הם שני סוגים של בלוקי תכנות. לשניהם חייבים להיות שמות קוראים. השמות הקוראים האלה משמשים כדי לקרוא להם בתוך בלוק תכנות אחר כמו פונקציות נהלים וחבילות או שאילתות SQL. שני סוגי האובייקטים הללו מקבלים פרמטרים ומבצעים את המשימה מאחורי אותם אובייקטים. זהו התחביר (ב-ORACLE) ליצירת פרוצדורה מאוחסנת, צור או החלף את שם ההליך (פרמטרים)

as

begin

statements;

exception

exception_handling

end;

והנה התחביר ליצירת פונקציה (ב-ORACLE), צור או החלף פונקציה function_name (פרמטרים)

return return_datatype

as

begin

statements;

return return_value/variable;

exception;

exception_handling;

end;

נהלים מאוחסנים

כפי שהוזכר לעיל נהלים מאוחסנים נקראים בלוקי תכנות. הם מקבלים פרמטרים כקלט משתמש ומעבד לפי ההיגיון מאחורי ההליך ונותנים את התוצאה (או מבצעים פעולה ספציפית). פרמטרים אלה יכולים להיות מסוג IN, OUT ו-INOUT. הצהרות משתנים, הקצאות משתנים, הצהרות בקרה, לולאות, שאילתות SQL וקריאות אחרות לפונקציות/פרוצדורות/חבילות יכולות להיות בתוך גוף הפרוצדורות.

פונקציות

פונקציות נקראות גם בלוקי תכנות, שחייבים להחזיר ערך באמצעות משפט RETURN, ולפני שהוא מחזיר ערך, הגוף שלו מבצע גם כמה פעולות (לפי ההיגיון הנתון). פונקציות גם מקבלות פרמטרים להפעלה. ניתן לקרוא לפונקציות בתוך השאילתות. כאשר פונקציה נקראת בתוך שאילתת SELECT, היא חלה על כל שורה בערכת התוצאות של שאילתת ה-SELECT. ישנן מספר קטגוריות של פונקציות ORACLE. הם,

פונקציות שורה אחת (מחזירה תוצאה בודדת עבור כל שורה ושורה של השאילתה)

יש קטגוריות משנה של פונקציות בשורה אחת.

  • פונקציה מספרית (לדוגמה: ABS, SIN, COS)
  • פונקציית תווים (לדוגמה: CONCAT, INITCAP)
  • פונקציית תאריך שעה (לדוגמה: LAST_DAY, NEXT_DAY)
  • פונקציות המרה (לדוגמה: TO_CHAR, TO_DATE)
  • פונקציית אוסף (לדוגמה: CARDINALITY, SET)
  • פונקציות צבירה (מחזיר שורה בודדת, בהתבסס על קבוצת שורות. לדוגמה: AVG, SUM, MAX)
  • פונקציות אנליטיות
  • פונקציות הפניה לאובייקט
  • פונקציות הדגם
  • פונקציות המוגדרות על ידי משתמש

מה ההבדל בין פונקציה לבין פרוצדורה מאוחסנת?

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

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

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

מוּמלָץ: