مثالی جالب از تعریف تابع یا Function در SQL Server - نسخهی قابل چاپ +- انجمن وب سایت مشاوره در زمینه پروژه های برنامه نویسی و طراحی وب سایتهای تجاری (http://forum.a00b.com) +-- انجمن: سوالها و مقاله های آموزشی (/forumdisplay.php?fid=1) +--- انجمن: مقاله های آموزشی (/forumdisplay.php?fid=3) +--- موضوع: مثالی جالب از تعریف تابع یا Function در SQL Server (/showthread.php?tid=36) |
مثالی جالب از تعریف تابع یا Function در SQL Server - ali - 01-04-2016 08:48 PM می خواهیم تابعی تعریف کنیم که عدد طبیعی n را از ورودی بگیرد و یک جدول با دو فیلد به نام های sum و sequence به عنوان خروجی تولید کند. با این شرط که n سطر ایجاد کند و برای فیلد sequence در سطر اول عبارت =1، در سطر دوم=1+2 ،..... و در سطر nام =1+2+...+n را قرار دهد. در فیلد sum نیز مجموع اعداد متناظر فیلد sequence را نشان دهد. یعنی در سطر اول 1، در سطر دوم 3، ...و در سطر nام جمع 1 تا n را قرار دهد. به طور مثال عدد 5 را به عنوان ورودی دریافت و جدول زیر را تولید کند. تعریف تابع تابع را به صورت زیر تعریف می کنیم. کد: CREATE function [dbo].[UDFSequence](@number int) باید دو حلقه تو در تو تعریف کنیم که حلقه اول به اندازه @number تکرار می شود. در هر بار تکرار حلقه اول یک سطر ایجاد می شود.دستور زیر این کار راانجام می دهد. کد: insert into @tblSequnce در هر بار تکرار حلقه دوم یک عدد به دنباله اضافه می شود.دستور زیر این کار را انجام می دهد. کد: @Sequence = @Sequence + '+' + convert(nvarchar(10),@count) در این تابع متغیر @Sequence دنباله را در خود ذخیره می کند. باید توجه داشت در پایان حلقه اول @Sequence و @sumو @count باید دوباره مقادیر اولیه خود را بگیرند. کد: set @count=1 |