70٪ تخفیف ویژه جشنواره تابستانه توسینسو
پایان تخفیف تا:
مشاهده دوره‌ها
هک و امنیت شبکه
مایکروسافت
برنامه نویسی
مجازی سازی
شبکه های کامپیوتری
میکروتیک
سیسکو
لینوکس و دواپس
گرافیک کامپیوتری
فایروال
طراحی سایت و سئو
کامپیوتر و موبایل
پایگاه داده و داده کاوی
اینترنت اشیاء
سخت افزار کامپیوتر
تحصیلات آکادمیک
0

Return نتیجه اجرای Function در SQL

سلام

در Function هنگامیکه Return در انتها انجام میدهیم و مقدار آن یک متغییر میباشد. (بطور مثال از ضرب دو متغییر یک حاصلی نتیجه میشود که آن را Return مینماییم)

چگونه میشود آن نتیجه را در جداول موجود در DB یافت، با جستجوی آن متغییر نتیجه ای بدست نمی آید.

باسپاس

پرسیده شده در 1394/02/06 توسط

3 پاسخ

0

سلام، خیلی ممنون از راهنمایی آقای عادلی

با مثال توضیحاتم رو تکمیل میکنم، بطور مثال کاربر در برنامه تحت وب خود مقادیری را وارد میکند و محاسبه ای انجام میگیرد(در Temp و یا دائم نتیجه ذخیره میشود مثل حقوق های دریافتی تاکنون) این موارد توسط فانکشن ها تعریف شده است که در انتهای آن متغییر حاصل جمع حقوق و مزایا آورده شده و به آن متغییر Return شده است.

من میخوام اون متغییر رو در جداول موجود (محل ذخیره دائمیِ خروجی فانکشن ام) پیدا کنم.

اینطورکه از پاسخ شما متوجه شده تنها را بازخوانی داده از توابع، select از خود تابع است و جایی در جداول ذخیره نمیشود؟!

در مواردی که یک جدول return میشود، مورد معلوم است ولی وقتی متغییر return میشود نتونستم جایی که ذخیره میشود را پیدا کنم

باسپاس

پاسخ در 1394/02/07 توسط
0

از نظر تکنیکی نتیجه خروجی تابع جایی ذخیره نمی شود و برای این که آن را جایی ذخیره کنید باید خودتان بعد از آن که تابع را اجرا کردید آن را دل جدولی ذخیره کنید.

پاسخ در 1400/11/30 توسط
2

سلام دوست عزیز فکر می کنم سوالت رو درست متوجه نشدم ولی برای این که یک تابع بنویسیم که یک مقدار برگرداند باید یک تابع Scalar value function بسازی که این نوع توابع فقط یک مقدار برمی گرداند. به طور مثال به تابع زیر دقت کنید.

Code
CREATE FUNCTION Multiply(@num1 int,@num2 int)
RETURNS int
AS
BEGIN
	
	DECLARE @result int;

	set @result=@num1*@num2;
	RETURN @result

END

این یک تابع است که دو عدد صحیح را گرفته و نتیجه ضرب آنها را به ما می دهد. حال برای این که این تابع را صدا بزنیم باید کد به شکل زیر بنویسیم:

Code
select [dbo].[Multiply](8,10)

التبه کد بالا را می توان در قسمت های where و سایر قسمت های برنامه نیز به کار برد و فقط مخصوص select نیست.

پاسخ در 1394/02/06 توسط

پاسخ شما