我正在尝试用SQL编写存储过程,就像这样..
create PROCEDURE procedure_name
(
@Name varchar,
@Price int
)
AS
BEGIN
select * from table
where Name=@Name AND Price=@Price
END
当我使用值-John和14228调用存储过程时。我得到一个空表。我做错什么了吗?
当我在下面运行以下代码片段时,我得到带有行的输出。
select *
FROM table
WHERE Name = 'John' AND price = '14228';
任何帮助将不胜感激!谢谢
该@Name
变量需要有一个大小指定。当您指定varchar
没有大小时,SQL Server会将其解释为varchar(1)
。因此,仅使用传递给存储过程的参数的第一个字符。
本@Name
应具有的大小与大小相同的Name
列。例如:
create PROCEDURE procedure_name
(
@Name varchar(30),
@Price int
)
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句