שאלה בנושא SqlServer 2000

עייטן

New member
שאלה בנושא SqlServer 2000

מתי עדיף להשתמש בfunction ולא בSP ? מה ההבדלים העיקרים ביניהם ? לדעתי אם זה קטע קוד שהולכים להשתמש בו הרבה פעמים, כדאי לעשותו כפונקציה. מה גם שבפונקציות אני מוגבל ביכולות שלי (יש הרבה פקודות שאני לא יכול להריץ בפונקציה, ובSP כן יכול). מסקרן אותי מה דעתכם.
 
מדובר על 2 דברים שונים לגמרי

UDF וSP הם שני דברים שונים לגמרי. SP מבצע פעולה או מס' פעולות. SP יכול להחזיר recordset או מספר recordsets, להחזיר output parameters, לשנות נתונים בבסיס הנתונים, להפעיל SP אחרים, ועוד. לעומת זאת לא ניתן להפעיל SP בתוך משפט select. UDF לא יכול לבצע שינוי של נתונים בבסיס הנתונים. לא יכול להפעיל SP. ישנם פונצקיות, שלא ניתן להעזר בהם בקוד של הUDF (למשל getdate() וכד'). בנוסף UDF יכול להחזיר תוצאה אחת בלבד (במידה ומדובר בUDF שמחזיר טבלה, אז ניתן להחזיר רק recordset אחד במבנה, שהוגדר מראש, וזה נחשב לתוצאה אחת). ניתן להפעיל UDF במשפט select או באמצעות משפט השמה (SET) בלבד. מה משניהם עדיף? זה תלוי בדרישות מהקוד.
 
למעלה