דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. יצירת פונקציה בSQL SERVER

יצירת פונקציה בSQL SERVER

מתוזמן נעוץ נעול הועבר ארכיון code613m
9 פוסטים 4 כותבים 589 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #1

    היכן ניתן למצוא דוגמא של שאילתת יצירת פונקציה בSQL? (הפונקציה הנצרכת היא של שאילתה שמקבלת פרמטר ומחזירה שורות מסוננות מטבלה/שאילתה).

    תודה רבה.

    פורסם במקור בפורום CODE613 ב30/06/2016 21:43 (+03:00)

    תגובה 1 תגובה אחרונה
    0
    • א מנותק
      א מנותק
      ארכיטקט
      כתב ב נערך לאחרונה על ידי
      #2

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

      פורסם במקור בפורום CODE613 ב30/06/2016 23:59 (+03:00)

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

      תגובה 1 תגובה אחרונה
      1
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        כתב ב נערך לאחרונה על ידי
        #3

        תודה,
        אבל אמור להיות משהו יותר פשוט. אני מתכוון לזה, או זה http://www.techonthenet.com/sql_server/functions.php, אבל אני לא מצליח לעשות את זה בשרת עצמו, לכן ביקשתי דוגמת קוד מוכנה שאני יכול לשנות אותה ולהשתמש אתה.

        תודה.

        פורסם במקור בפורום CODE613 ב01/07/2016 01:29 (+03:00)

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4
          CREATE FUNCTION GetLowers 
          	(@nameOfParameter int)
          RETURNS TABLE 
          AS
          RETURN 
          (
          	SELECT * FROM MyTable
          	WHERE id < @nameOfParameter
          )
          GO
          

          פורסם במקור בפורום CODE613 ב01/07/2016 11:20 (+03:00)

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          1
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            כתב ב נערך לאחרונה על ידי
            #5

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

            CREATE FUNCTION ישות 
                (@טקסטחופשילסינון CHAR)
            RETURNS TABLE
            AS
            RETURN
            (
            
            SELECT יישויות.*, טלפונים.*, אימיילים.*
            FROM (יישויות LEFT JOIN טלפונים ON יישויות.קודמזהה = טלפונים.יישת) LEFT JOIN אימיילים ON יישויות.קודמזהה = אימיילים.היישות
            WHERE (((יישויות.שם) Like '%[@טקסטחופשילסינון]%')) OR (((יישויות.משפחה) Like '%[@טקסטחופשילסינון]%')) OR (((יישויות.כתובת) Like '%[@טקסטחופשילסינון]%')) OR (((יישויות.NUMBER ) Like '%[@טקסטחופשילסינון]%')) OR (((יישויות.עיר) Like '%[@טקסטחופשילסינון]%')) OR (((יישויות.תאריך) Like '%[@טקסטחופשילסינון]%')) OR (((יישויות.[פרטים_נוספים]) Like '%[@טקסטחופשילסינון]%')) OR (((טלפונים.מספר) Like '%[@טקסטחופשילסינון]%')) OR (((טלפונים.[פרטים נוספים]) Like '%[@טקסטחופשילסינון]%')) OR (((אימיילים.אימייל) Like '%[@טקסטחופשילסינון]%'))
            
            )
            GO
            

            מה יכולה להיות הבעיה?
            תודה מראש.

            פורסם במקור בפורום CODE613 ב03/07/2016 21:57 (+03:00)

            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              אינני מבין למה זה מחזיר לך הכל, זה היה צריך לא להחזיר לך כלום כי לא ככה כותבים.
              החלף את '%[@טקסטחופשילסינון]%' ב '%' + @טקסטחופשילסינון + '%'

              ועוד עיצה, תכתוב כל מה שאתה יכול בלועזית. לא הייתי כעת משגע אותך להחליף את שמות הטבלאות ושדותיהם (אבל מומלץ מאוד)
              אבל לפחות את המשתנה למשל.

              למה?
              א. תעשה זאת למשך שנה ונראה מה תגיד אח"כ
              ב. שארכיטקט לא יכעס
              ג. שתרגיש פה בחברה 🙂

              פורסם במקור בפורום CODE613 ב04/07/2016 00:44 (+03:00)

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              2
              • chagoldC מנותק
                chagoldC מנותק
                chagold
                כתב ב נערך לאחרונה על ידי
                #7

                תודה רבה

                פורסם במקור בפורום CODE613 ב04/07/2016 10:03 (+03:00)

                תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי
                  #8

                  יש לך, כנראה, עוד טעות: המשתנה הוא מסוג CHAR שזה אומר שהוא מכיל אות אחת בלבד.
                  אתה צריך לכתוב varchar(100) למשל כדי לקבל מחרוזת.

                  פורסם במקור בפורום CODE613 ב04/07/2016 10:15 (+03:00)

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  תגובה 1 תגובה אחרונה
                  1
                  • S מנותק
                    S מנותק
                    softs
                    כתב ב נערך לאחרונה על ידי
                    #9

                    אני מצטרף להמלצת דוד שאת הפרמטר תהפוך למחרוזת אבל תשקול אם אתה זקוק למחרוזת יוניקוד שזה nvarchar (ולא varchar).

                    דומה שהגעת מאקסס ולכן כל הסוגריים המרובעים והעגולים בשאילתה - במקרה שלך בכל משפט השאילתה (הפסוקיות SELECT - FROM - WHERE) לא דרוש אפילו סוגר אחד.

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

                    פורסם במקור בפורום CODE613 ב04/07/2016 10:51 (+03:00)

                    תגובה 1 תגובה אחרונה
                    4

                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום