PDA

View Full Version : اشکال در اجرای یک stored propcedure



vahid_vzc
شنبه 07 خرداد 1390, 20:32 عصر
با سلام
در هنگام اجرای sp زیر به اشکال Procedure sp561 has no parameters and arguments were supplied بر می خورم و نمی دونم اشکال از کجاست لطفا راهنمایی کنید


create proc sp561
as
declare @p1 int
declare @p2 varchar(20)
insert into goods(goods_id,goods_name) values (@p1,@p2)

zimzim
شنبه 07 خرداد 1390, 21:01 عصر
سلام
شما declare نیازی نیست استفاده کنید . اسم متغیر ونوعش کفایت می کنه .
فقط این دو تا پارامتر رو بین یک جفت پرانتز قرار بدهید .

vahid_vzc
شنبه 07 خرداد 1390, 22:35 عصر
سلام
شما declare نیازی نیست استفاده کنید . اسم متغیر ونوعش کفایت می کنه .
فقط این دو تا پارامتر رو بین یک جفت پرانتز قرار بدهید .
با تشکر از شما ولی باز هم این بار هنگام ذخیره کردن ایراد می گیره

create proc sp561
as
(@p1 int,@p2 varchar(20))
insert into goods(goods_id,goods_name) values (@p1,@p2)

Server: Msg 170, Level 15, State 1, Procedure sp561, Line 3
Line 3: Incorrect syntax near '@p1'.
Server: Msg 137, Level 15, State 1, Procedure sp561, Line 4
Must declare the variable '@p1'.

Galawij
یک شنبه 08 خرداد 1390, 07:24 صبح
خوب معلومه که error می ده چرا پارامترهاتون رو (p1@,p2@)مقدار دهی نمی کنید؟؟

pezhvakco
یک شنبه 08 خرداد 1390, 09:01 صبح
سلام :

create proc sp561
as
(@p1 int,@p2 varchar(20))
insert into goods(goods_id,goods_name) values (@p1,@p2)

این p1 , p2 رو چی هستند .
اگه متغییر درون sp هستند که باید تعریف بشن (DECLARE) و اگه پارامتری هستند که به SP فرستاده میشن باید پیش از AS نوشته بشن :

create proc sp561 @p1 int,@p2 varchar(20)
as
begin
declare @pp1 int;
declare @pp2 varchar(20);
insert into goods(goods_id,goods_name) values (@p1,@p2)
end
go