کار با SQL Function در فریم ورک (AUA) Asp.Net Unique Architecture
توابع Function تعريف شده توسط کاربر در SQL Server ابزار قدرتمند و سود مندي است که با استفاده صحيح و به جا از آنها مي توانيم سرعت و کارايي برنامه هاي خود را بهبود ببخشيم .توابع یا Function ها دستورات تک کلمه ایی هستند که یک مقدار را بعنوان خروجی باز می گردانند . Function می تواند دارای پارامتر های ورودی باشد که مقدار بازگشتی از آن تابع مقدار پارامتر ورودیست و یا بدون پارامتر ورودی باشد
توابع به 3 دسته تقسيم مي شوند :
1- توابع تک مقداري (Scalar Valued Function) :
اين توابع يک مقدار از نوع داده هاي مجاز در SQL Server را برمي گردانند . از آنها در دستور انتساب (SET) يا انتخاب (SELECT) استفاده مي شود . اين توابع را با استفاده از EXEC هم مي توان اجرا نمود.
2- توابعي که جدول برمي گردانند :
اين توابع خود به 2 دسته تقسيم مي شوند :
1 – Inline table-Statement
Multi table - Statement- 2
توابع Inline نوع خاصي از توابع Multi-table هستند ، يعني در حالت کلي شما بايد از توابع Multi-Statement استفاده کنيد .
شما از توابعي که جدول برمي گردانند ، دقيقا مانند يک جدول حقيقي مي توانيد استفاده کنيد .
يعني مي توانيد يک يا چند ستون پانرا انتخاب کنيد يا آنرا با يک جدول يا چند جدول ديگر join کنيد و ...
استفاده صحيح از اين گونه توابع مي تواند تاثير بسيار مناسبي در کارايي و سرعت برنامه هاي شما بگذارد و گاهي مسائل مشکل را با استفاده صحيح از اين توابع به راحتي مي توانيد حل کنيد .
3 - توابع CLR
يعني يه اين معني که شما بوسيله يکي از زبانهاي .NET تابعي يا کدي را مي نويسيد و سپس مي توانيد از اين کد داخل SQL Server استفاده کنيد .
از ویژگی های خوب در AUA کار با توابع در SQL Server می باشد که بتوان نتیجه آنها را در Object ها مپ کند و روی نتیجه آنها Linq کوئری بزنیم که در فریم ورک AUA این کار به راحتی قابل انجام است و از تولید کد کثیف برای این کار جلوگیری می کند.