《〈〈Sql问题〉〉》
我的存储过程是这样的
CREATE PROCEDURE GetCardByNumber
@CardNumber nvarchar(255)
AS
DECLARE @sql NVARCHAR(2000)
set @CardNumber = ' ' ' ' + replace(@CardNumber, '. ', ' ' ', ' ' ') + ' ' ' '
SET @sql = 'select * from CardTable where CardNumber in ( ' + @CardNumber + ') '
exec @sql
GO
等我一运行的时候就报错:未能找到存储过程 'select * from CardTable where CardNumber in ( '226026275526 ') '。
请帮忙分析一下是那出错了。谢谢
------解决方案--------------------declare @CardNumber varchar(50)
DECLARE @sql NVARCHAR(2000)
set @CardNumber= '1.2.3.4 '
set @CardNumber = ' ' ' ' + replace(@CardNumber, '. ', ' ' ', ' ' ') + ' ' ' '
select @CardNumber
SET @sql = 'select 1 where ' ' '+ '1 '+ ' ' ' in ( ' + @CardNumber + ') '
exec (@sql)
-----> 这样都可以查到阿