PDA

View Full Version : سوال: اشكال در StoreProcedure



meitti
دوشنبه 14 مرداد 1387, 21:25 عصر
من يه StoreProcedure به صورت زير نوشتم براي گرفتن max فيلد مورد نظر كه براي گرفتن auto number مي خام از ان استفاده كنم

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER proc [dbo].[max_Id](int @t)
as
SELECT @t=MAX(Docr_Id) + 1
FROM Reg_Recive_Type

return @t

exec [max_Id]

كه error هاي زير را ميده

Msg 102, Level 15, State 1, Procedure max_Id, Line 2
Incorrect syntax near 'int'.
Msg 137, Level 15, State 1, Procedure max_Id, Line 4
Must declare the scalar variable "@t".
Msg 137, Level 15, State 2, Procedure max_Id, Line 7
Must declare the scalar variable "@t".

اگه ممكنه مشكل كار من را .........

nima_dir
دوشنبه 14 مرداد 1387, 21:35 عصر
سلام
قسمت معرفی پارامتر اشتباهه اون رو به این صورت تصحیح کنین


@t int

اون پرانتزهای دورش رو هم بردارین بعدشم اون go اول رو میتونین بردارین بذارینش قبل exec
اون exec هم که حتما خارج استور هست دیگه؟!

رضا جاسبی
سه شنبه 15 مرداد 1387, 23:32 عصر
البته یک سوال هست که چرا از خود Identity در SQL استفاده نمی کنی؟

meitti
یک شنبه 20 مرداد 1387, 10:49 صبح
البته یک سوال هست که چرا از خود Identity در SQL استفاده نمی کنی؟
با سلام
مشكل من كلي است واين چيزي كه گفتم فقط يه نمونه از StoreProcedure هايي بود كه من استفاده كرده بودم

z.nasiri
یک شنبه 20 مرداد 1387, 11:34 صبح
سلام دوست عزیز
مشکل توی store proceduret زیاده برو توی قسمت temperory که شکل های آماده برنامه ها را نوشته و از روی اون برو جلو حتما مشکلت حل می شه
مثلا چند تاش که به نظر من می یاد البته به خاطر جا به جا شدن برنامت خیلی خوب تشخیص ندادم
اما اگر @t ورودی برای sp هست باید مقدار اولیه داشته باشه و دورش پرانتز نمی خواهد
قبل از execute می بایست خروجی ات را با declare تعریف کنی و بعد ازش استفاده کنی