Return نتیجه اجرای Function در SQL
سلام
در Function هنگامیکه Return در انتها انجام میدهیم و مقدار آن یک متغییر میباشد. (بطور مثال از ضرب دو متغییر یک حاصلی نتیجه میشود که آن را Return مینماییم)
چگونه میشود آن نتیجه را در جداول موجود در DB یافت، با جستجوی آن متغییر نتیجه ای بدست نمی آید.
باسپاس
3 پاسخ
سلام، خیلی ممنون از راهنمایی آقای عادلی
با مثال توضیحاتم رو تکمیل میکنم، بطور مثال کاربر در برنامه تحت وب خود مقادیری را وارد میکند و محاسبه ای انجام میگیرد(در Temp و یا دائم نتیجه ذخیره میشود مثل حقوق های دریافتی تاکنون) این موارد توسط فانکشن ها تعریف شده است که در انتهای آن متغییر حاصل جمع حقوق و مزایا آورده شده و به آن متغییر Return شده است.
من میخوام اون متغییر رو در جداول موجود (محل ذخیره دائمیِ خروجی فانکشن ام) پیدا کنم.
اینطورکه از پاسخ شما متوجه شده تنها را بازخوانی داده از توابع، select از خود تابع است و جایی در جداول ذخیره نمیشود؟!
در مواردی که یک جدول return میشود، مورد معلوم است ولی وقتی متغییر return میشود نتونستم جایی که ذخیره میشود را پیدا کنم
باسپاس
از نظر تکنیکی نتیجه خروجی تابع جایی ذخیره نمی شود و برای این که آن را جایی ذخیره کنید باید خودتان بعد از آن که تابع را اجرا کردید آن را دل جدولی ذخیره کنید.
سلام دوست عزیز فکر می کنم سوالت رو درست متوجه نشدم ولی برای این که یک تابع بنویسیم که یک مقدار برگرداند باید یک تابع Scalar value function بسازی که این نوع توابع فقط یک مقدار برمی گرداند. به طور مثال به تابع زیر دقت کنید.
CREATE FUNCTION Multiply(@num1 int,@num2 int) RETURNS int AS BEGIN DECLARE @result int; set @result=@num1*@num2; RETURN @result END
این یک تابع است که دو عدد صحیح را گرفته و نتیجه ضرب آنها را به ما می دهد. حال برای این که این تابع را صدا بزنیم باید کد به شکل زیر بنویسیم:
select [dbo].[Multiply](8,10)
التبه کد بالا را می توان در قسمت های where و سایر قسمت های برنامه نیز به کار برد و فقط مخصوص select نیست.