如何在SQL中使用外部变量

斯巴达93

我正在尝试用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';

任何帮助将不胜感激!谢谢

shf301

@Name变量需要有一个大小指定。当您指定varchar没有大小时,SQL Server会将其解释为varchar(1)因此,仅使用传递给存储过程的参数的第一个字符。

@Name应具有的大小与大小相同的Name列。例如:

create PROCEDURE procedure_name
( 
  @Name varchar(30), 
  @Price int 
)
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章