פונקציית PostgreSQL להחזרת טבלה

Pwnqzyyt Postgresql Lhhzrt Tblh



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

כיצד ליצור פונקציית PostgreSQL כדי להחזיר טבלה

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

להלן התחביר ליצירת פונקציית PostgreSQL שמחזירה טבלה:







צור או החלף פונקציה function_name(parameter_list)

TABLE החזרות (עמודה_רשימת)

כ-$$

BEGIN RETURN QUERY(query);

סוֹף;

$$ LANGUAGE plpgsql

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



דוגמה 1: עבודה עם קלט בודד

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



להלן טבלת 'תלמיד' שבה נשתמש עבור השאילתה שלנו:





בתמונה הבאה, אנו יוצרים פונקציה בשם 'get_student' שלוקחת INT כארגומנט. בסעיף TABLE החזרות, אנו מחזירים טבלה עם ארבע עמודות: 'זיהוי_תלמיד', 'שם_תלמיד', 'סגל_תלמיד' ו'סטטוס_נוכחי'.



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

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

\df *get_student();

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

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

דוגמה 2: עבודה עם תבנית קלט

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

אנו משתמשים בטבלה הבאה למקרה זה וממקדים לעמודת השם:

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

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

בחר * מתוך get_details('%Jo%');

אנו מתאימים לכל הערכים 'Jo' במחרוזת שלהם, ונותנים לנו שני רשומות.

אם אנחנו יודעים רק את החלק האחרון של מחרוזת, נסובב את השאילתה ונפעיל אותה באופן הבא:

בחר * מתוך get_details('%Tyson');

לבסוף, אם אנחנו מכירים את החלק הראשון של המחרוזת, נוסיף את הסמל '&' אחרי התבנית, כפי שמוצג בהמשך:

בחר * מתוך get_details('Tim%');

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

סיכום

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