当前位置: 代码迷 >> Sql Server >> 求解。解决方法
  详细解决方案

求解。解决方法

热度:82   发布时间:2016-04-25 01:21:16.0
求解。。。。
SQL code
    declare @where nvarchar(100)    declare @NotGDChnCount int    declare @sql nvarchar(1000)    set @sql=N'select @Count=COUNT(distinct id) from GoldCardReplacementData    where DataType=1 '    EXEC sp_executesql @sql,N'@Count int output',@NotGDChnCount output    select @NotGDChnCount    print @sql

以上为我的代码,在@sql中要是不加上@where变量,语句能正常执行,如果加了@where,就查不出任何东西,请问各位,这是为什么呢?

------解决方案--------------------
加了以后的语句贴出来看看
------解决方案--------------------
探讨
解决了,@where变量初始化下就能用了。。。

------解决方案--------------------
try
SQL code
    declare @where nvarchar(100)    declare @NotGDChnCount int    declare @sql nvarchar(1000)    SET @where=' where DataType=1 '    set @sql=N'select @Count=COUNT(distinct id) from GoldCardReplacementData'+@where    EXEC sp_executesql @sql,N'@Count int output',@NotGDChnCount output    select @NotGDChnCount    print @sql
------解决方案--------------------
我就说你都只有定义没有使用....
------解决方案--------------------
恭喜楼主自立更生
------解决方案--------------------
where 里面给成1=1 先给个 让where恒成立
------解决方案--------------------
探讨

我就说你都只有定义没有使用....

------解决方案--------------------
探讨

解决了,@where变量初始化下就能用了。。。
  相关解决方案