Sql 存储过程不返回任何内容
这应该是没有问题的,但在我工作了很长时间后,我无法注意到我在这里做错了什么 有一个非常简单的存储过程:Sql 存储过程不返回任何内容,sql,stored-procedures,Sql,Stored Procedures,这应该是没有问题的,但在我工作了很长时间后,我无法注意到我在这里做错了什么 有一个非常简单的存储过程: ALTER PROCEDURE MyProc @input char(10) AS BEGIN SET NOCOUNT ON; SELECT isonum FROM iso where isonum LIKE '%' + @input + '%' ORDER BY isonum END 执行查询时:从i
ALTER PROCEDURE MyProc
@input char(10)
AS
BEGIN
SET NOCOUNT ON;
SELECT isonum
FROM iso where isonum LIKE '%' + @input + '%'
ORDER BY isonum
END
执行查询时:从iso中选择isonum,其中isonum类似于“%2333%”
-我获取数据,但在执行存储过程时:
exec MyProc'2333'
-我什么也得不到
这里怎么了?改为
@input-char(10)
改为@input-varchar(10)
您的sp当前正在运行
isonum来自iso,其中isonum类似于“%2333%”
ALTER PROCEDURE MyProc
ALTER PROCEDURE MyProc
@input varchar(10) --<-- Use varchar here
AS
BEGIN
SET NOCOUNT ON;
SELECT isonum
FROM iso where isonum LIKE '%' + @input + '%'
ORDER BY isonum
END
@input varchar(10)——它与@input varchar(10)一起工作吗?它是否对变量进行了填充,以便它搜索像“%2333%”这样的
?您可以通过将其添加到sp中来观察:选择“['+@input+']”