PDA

View Full Version : function در sql



alaveh
جمعه 08 مهر 1390, 01:50 صبح
دوستان یک سوال خیلی ساده دارم . از بس سوالم رو هر جا پرسیدم کسی بهم جواب نداد خسته شدم و سوالم رو به ساده ترین شکل ممکن در اوردم شاید مشکلم حل بشه . واقعا خسته شدم از دست این Query . هیچ وقت تا حالا 3 روز فقط رو یک Query زمان صرف نکرده بودم .

یکی از دوستان فقط بگه این چرا کار نمیکنه ؟

CREATE FUNCTION sad() RETURNS INT
AS
BEGIN
RETURN 100
END


select
1100-sad()

مرتضی تقدمی
جمعه 08 مهر 1390, 08:58 صبح
سلام
این کوئری مگه جدول بر می گردونه که select گذاشتید ؟!!
شما برای اجرای این کوئری باید بنویسید :


declare @r int
execute @r = dbo.sad
set @r = 1100- @r


که برای دیدن خروجی هم می تونید اونو پرینت کنید :


print @r


موفق باشید

یوسف زالی
جمعه 08 مهر 1390, 13:55 عصر
سلام.
دوست من علتش اینه که قبل از نام تابع باید DBO یا هر owner ی که تعربف کردید بیاد.
مثال:
select 100 - dbo.sad() -- test

دوست عزیز، جناب مرتضی مقدمی، میتونید برای اسکالر ها هم از سلکت استفاده کنید: select 100 as N
اینجا 100 جدول نیست. کدی که شما نوشتید معمولا برای گرفتن خروجی SP ها بکار می ره.
موفق باشید.