בניית פונקציה בפריוריטי – כמו לדוגמא SUM()

פורומים אפיון ופיתוח פריוריטי בניית פונקציה בפריוריטי – כמו לדוגמא SUM()

  • Post
    snoof123
    משתתף
    היי לכולם,
    אני רוצה לבנות פונקציה משלי, שאני מכניס אליה משתנה בסוגריים והיא מחזירה לי מידע ואח"כ אני יכול להשתמש בה בשאילתות שלי.

    לדוגמא, כמו שיש ATOI, ITOA, SUM, COUNT…
    פונקציה שאני מכניס אליה תאריך והיא מחזירה לי ערך לפי הערך שנמצא בתאריך.

    האם מישהו יודע כיצד אני בונה פונקציות כאלה לצורך שימוש בקוד של הפריוריטי (פרוצדורה, WINDBI, טריגרים למסכים וכו')?

    מודה מראש לכל מי שעוזר 🙂

מוצגות 10 תגובות – 1 עד 10 (מתוך 10 סה״כ)
  • Replies
    אלמוני
    אורח
    גרסת ה-SQL הפשוטה של פריוריטי אינה תומכת ב-UDF (פוקנציות שהוגדרו ע"י המשתמש, user defined functions).
    אפשר להשתמש ב-SUBROUTINE
    snoof123
    משתתף
    היי נעם, תודה על המענה.
    האם אני יכול להגדיר SUBROUTINE בפרוצדורה אחת ולקרוא לזה כל פעם? או שאני צריך לכתוב את הקוד כל פעם מחדש ולהגדיר סאבים?

    ואני תוהה אולי זה לא כ"כ שונה מלבנות לולאה רגילה וזהו.. (?)

    אלמוני
    אורח
    תסתכל על המסך expr ועל כל הטריגרים שלו

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

    snoof123
    משתתף
    היי, יש מצב שאתה רושם את השם של המסך במדויק כפי שהוא מופיע בשם מסך?
    אני לא מוצא את המסך משום מה, מצאתי רק מסך שנקרא func אבל לא נראה לי שזה זה כי זכרתי שהמסך היה בנוי אחרת לגמרי..
    (זה המסך הזה שממנו לוקחים כל פעם ביטויים לדוחות וכאלה נכון?)
    אלמוני
    אורח
    יש מסך func ויש דו"ח EXPR
    יש הפעלות מעניינות מאד ל-func
    snoof123
    משתתף
    קודם כתבת מסך כנראה בגלל זה התבלבלתי. 🙂
    נעם תודה רבה, עברתי על שניהם אבל בינתיים אף אחד מהפתרונות לא מתאים עבור מה שאני צריך.

    אני באמת צריך פונקציות שאני אוכל לבנות מראש…

    אלמוני
    אורח
    היי נועם,
    שתף אותנו בבקשה במה מדובר, לא מצאתי מסך כזה
    תודה
    אלמוני
    אורח
    במחולל המסכים, תכתוב func
    לפי צילום המסך המצורף (או לא!)
    yitzchok
    משתתף
    IL
    אני רק כותב לגבות את מה שנעם כותב.

    ביטוי משותף אפשר כמו שיש ב-EXPR.
    חישוב שמריצים בלולאה מתוך SUB שאפשר לכלול בפרוצדורות שונות גם אפשר.

    אבל לפונקציות פרטיות מעין DTOA וכו' אין מענה לצערינו הרב.

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    אני רק כותב לגבות את מה שנעם כותב.

    ביטוי משותף אפשר כמו שיש ב-EXPR.
    חישוב שמריצים בלולאה מתוך SUB שאפשר לכלול בפרוצדורות שונות גם אפשר.

    אבל לפונקציות פרטיות מעין DTOA וכו' אין מענה לצערינו הרב.

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 10 תגובות – 1 עד 10 (מתוך 10 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.