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

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

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

פונקציות

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

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

    CREATE FUNCTION loginuser (@username VARCHAR(100), @dBname VARCHAR(100), @password VARCHAR(100),@usernametemp VARCHAR(100) output,@passtemp VARCHAR(100) output) 
    
    
    RETURNS TABLE 
    AS
    
    RETURN
    	 		 
    	if exists (SELECT dbname from dbo.all_db WHERE (dbname = @dbname))
    	
    	begin 
    
    
    	
    			
    	
    
    	end		
    
    	
    
    
    GO
    

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

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

      ראשית, פונקציה ב SQL לא יכולה לקבל פרמטר של OUTPUT, זה נגד ההיגיון של פונקציה ב SQL באופן כללי.

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

      שלישית, אין כלום בין ה BEGIN ל END שזאת שגיאה בפני עצמה, אם אין לך כעת מה לשים תדחוף PRINT או משהו בלתי מזיק בסגנון.

      רביעית, הייתי ממליץ לך להשתמש בדוגמה מוכנה של פונקציה מתוך ה TEMPLATE EXPLORER שקיים ב SSMS, או להוריד דוגמה מהאינטרנט ולשנות אותה עד שתדע לכתוב לבד.

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

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

        [quote="softs"]ראשית, פונקציה ב SQL לא יכולה לקבל פרמטר של OUTPUT, זה נגד ההיגיון של פונקציה ב SQL באופן כללי.

        אז איך מקבלים תשובה מפונקציה כזו?

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

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

          בכלל אני חושב שבשביל מה שאתה עושה יש store procedure.
          http://code.613m.org/viewtopic.php?t=230.

          פורסם במקור בפורום CODE613 ב22/07/2016 06:17 (+03:00)

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

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

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

            האם אני יכול מתוך Multi-Statement Function לעשות אינסרטים לטבלה שלא בתוך הפונקציה?

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

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

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

              פורסם במקור בפורום CODE613 ב22/07/2016 14:06 (+03:00)

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

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

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

                תודה.
                כשאני יוצר פרוצודורה, היכן אני יכול לגשת אליה (לא להפעלה, אלא לדוגמא ברמת חלון הSSMS ועוד)

                פורסם במקור בפורום CODE613 ב22/07/2016 14:33 (+03:00)

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

                  תחת המסד
                  Programmability > Store Procedures

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

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

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

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

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

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

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