PDA

View Full Version : چطوری یک استورد پراسیجور رو تو یه استورد پراسیجر صدا بزنم؟



neynavaz
شنبه 05 شهریور 1390, 12:15 عصر
چطوری یک استورد پراسیجور رو تو یه استورد پراسیجر صدا بزنم و اون بتونه چند مقدار رو به من برگردونه
من اینطوری نوشتم
ارور نمیده اما هیچ مقداری هم بر نمیگردونه

اینجا صدا میزنم


set @P_home_S ='-9'

EXEC SP_Get_Home_Permission
@P_User_id= @P_User_id
,@P_FormId ='1',
@P_Home_S=@P_Home_S




اینم پراسیجری که صدا میزنم



alter PROCEDURE [dbo].[SP_Get_Home_Permission]
@P_User_id BIGINT OUTPUT,
@P_FormId NVARCHAR(50),
@P_Home_S NVARCHAR(50) OUTPUT
AS
BEGIN
SET @P_home_S ='-7'

SELECT @P_Home_S = [Isselect]
FROM TAccess
WHERE (( userId = @P_user_Id )AND( FormId= @P_FormId) )
END



البته دستور سلکت رو کامنت هم کردم که فقط مقدار پارامتر رو دستی عوض کنم
اما انگار اصلا sp دوم اجرا نشده
هیچ مقداری نمیده


کسی میتونه کمکم کنه؟

Galawij
شنبه 05 شهریور 1390, 13:21 عصر
به این صورت:

Declare @POut bigint
EXEC dbo.SPReturnProvince 500,@IdProvince=@POut OUTPUT
Select @POut

به نحوه ارسال پارامتر ها کاملاً دقت کنید. و اینکه در آخر خروجی پارامتر را نشان بدید. در ادامه خط تعریف SP دوم به این صورت هست:

ALTER PROCEDURE [dbo].[SPReturnProvince](@IdCity smallint,@IdProvince BIGINT OUTPUT)