declare @num int,@sqls nvarchar(4000),@code varchar(20)
set @sqls='select @a=count(*) from Customers where colname='''+@code+'''' 
exec sp_executesql @sqls,N'@a int output',@num output 

解决方案 »

  1.   

    declare @num int,@sqls nvarchar(4000),@where nvarchar(4000)
    set @where=''
    set @sqls='select @a=count(*) from Customers ' +@where
    exec sp_executesql @sqls,N'@a int output',@num output 
    select @num 放在前面行吗?
      

  2.   

    declare @num int,@sqls nvarchar(4000)  
    set @sqls='select @a=count(*) from Customers where col1='+ 变量 
    exec sp_executesql @sqls,N'@a int output',@num output 
    select @num 
      

  3.   

    --如果变量是日期或字符类型
    declare @num int,@sqls nvarchar(4000)  
    set @sqls='select @a=count(*) from Customers where col1='''+ 变量+''''
    exec sp_executesql @sqls,N'@a int output',@num output 
    select @num