读书人

一个简单的动态Sql有关问题

发布时间: 2012-02-19 19:43:39 作者: rapoo

一个简单的动态Sql问题
动态sql代码如下:

declare @sel nvarchar(1000)
declare @count int
declare @kind varchar(20)

select @kind= '财政性 '

set @sel= 'select @count=count(*)
from table
where kind= " '+@kind+ ' " '

EXEC sp_executesql @sel,N '@count int OUTPUT,@kind varchar(20) ',@count OUTPUT,@kind

运行是错误如下:
服务器: 消息 207,级别 16,状态 3,行 1
列名 '财政性 ' 无效。


请问我错在哪里了?请帮我改正。

select @sel
select @count

[解决办法]
"换成 ' '

declare @sel nvarchar(1000)
declare @count int
declare @kind varchar(20)

select @kind= '财政性 '

set @sel= 'select @count=count(*)
from table
where kind= ' ' '+@kind+ ' ' ' '

EXEC sp_executesql @sel,N '@count int OUTPUT,@kind varchar(20) ',@count OUTPUT,@kind

select @sel
select @count
[解决办法]
--try

declare @sel nvarchar(1000)
declare @count int
declare @kind varchar(20)

select @kind= '财政性 '

set @sel= 'select @count=count(*)
from table
where kind= ' ' '+@kind+ ' ' ' '

EXEC sp_executesql @sel,N '@count int OUTPUT ',@count OUTPUT

读书人网 >SQL Server

热点推荐