首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-02-19 
一个简单的动态Sql问题动态sql代码如下:declare@selnvarchar(1000)declare@countintdeclare@kindvarchar(2

一个简单的动态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

热点排行