0

آموزش گام به گام SQL Server

 
cryingsphere
cryingsphere
کاربر نقره ای
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 375
محل سکونت : خراسان رضوی

پاسخ به:آموزش گام به گام SQL Server
چهارشنبه 22 تیر 1390  1:50 PM

سلام

 

- طراحی(UDF) User Define Function  :  یکی از قابلیت های پایگاه داده SQL Server  ایجاد UDF است که کاربران قادرند متناسب با نیاز در هر پروژه به طراحی آن اقدام نمایند و دارای شکل کلی ذیل می باشد.

هرUDF  طراحی شده بعنوان یک تابع در کلیه دستورات SQL  قابل استفاده است از طرفی درصورتیکه از EXECute  استفاده گردد هر UDF  می تواند مانند یک SP  اجرا گردد همچنین در یک تابع UDF  خروجی می تواند بصورت یک جدول باشد در این حالت از کلمه Table  به جای نوع مقدار برگشتی استفاده خواهد شد و مقدار بازگشتی یک دستور Select  خواهد بود که در مقابل دستور Return  بکار خواهد رفت و تعداد پارامترهای تعریف شده در هر UDF  حداکثر 1024  عدد خواهد بود و مشابه SP  درصورتیکه پارامتر موردنظر ارائه نگردد پیش فرض بعنوان مقدار ورودی پارامتر مدنظر قرار خواهد گرفت نکته قابل ذکر در این خصوص به شرح ذیل می باشد:

 

- درهنگام اجرای یک تابع نام Owner می بایستی ذکر گردد بعنوان مثال ( dbo )

- تعدادی از دستورات درون طراحی UDF قابل اجرا نمی باشند.

- از (ESP) Extended Stored Procedure   درون تابع می توانید استفاده نمائید.

مثال : تابعی بنویسید که فاکتوریل یک عدد را محاسبه کند.

Create    Function    Fact  (@n  TinyInt)

Returns    BigInt

AS

Begin

Declare   @RtnValue   BigInt

IF   @n = 0  or  @n = 1

Set   @RtnValue = 1

ELSE

Set   @RtnValue = dbo.Fact (@n – 1) *@n

Return   @RtnValue

END

حال  فرض کنید که قرار است تابع فوق در یک برنامه استفاده گردد و قرار باشد سری  محاسبه گردد بدین منظور به شکل ذیل عمل خواهیم نمود:

 

Declare   @S   BigInt , @C   TinyInt

Set    @S = 0

Set    @C = 0

While    @C < 10    Begin

Set   @C = @ C + 1

Set   @S = @ S + dbo.Fact (@C )

END

Select   @S

 

خب دوستان تا اینجا توابع به پایان رسید. در بحث بعدی سایر دستورات کاربردی در اس کیو ال رو بررسی می کنیم.

موفق باشید

تشکرات از این پست
دسترسی سریع به انجمن ها