ההבדל בין נוהל מאוחסן לבין פונקציה
מאוחסנים לעומת פונקציה
נהלים ופונקציות מאוחסנים הם שני סוגים של בלוקים תכנות. לשניהם יש שמות קוראים. שמות אלה קוראים משמשים לקרוא אותם בתוך בלוק תכנות אחר כמו פונקציות נהלים חבילות או שאילתות SQL. שני סוגי אובייקטים אלה מקבלים פרמטרים ומבצעים את המשימה מאחורי אותם אובייקטים. זהו התחביר (ב ORACLE) כדי ליצור הליך מאוחסן,
-> ->צור או החלף את הפרוצדורה של הפרוצדורה (פרמטרים)
כ-
תחילת
הצהרות;
יוצא מן הכלל
יוצא מן הכלל
סוף;
והנה התחביר כדי ליצור פונקציה (ב- ORACLE),
- <->ליצור או להחליף פונקציה function_name (פרמטרים)
return return_datatype
כ-
תחילת
הצהרות;
Return return_value / variable;
יוצא מן הכלל;
יוצא מן הכלל;
סוף;
פרוצדורות מאוחסנות
כאמור לעיל נהלים מאוחסנים בשם בלוקים תכנות. הם מקבלים פרמטרים כמו קלט המשתמש תהליך על פי ההיגיון מאחורי ההליך ולתת את התוצאה (או לבצע פעולה מסוימת). פרמטרים אלה יכולים להיות 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, לא. |