declare   @sql   varchar(1000) set   sql   =   'declare   @i   int    select   @i=   coumt(1)   from   ...' 

解决方案 »

  1.   


    declare   @sql   nvarchar(1000) 
      

  2.   

    如果我是需要两个变量呢,是不是这么写:
    declare   @sql   varchar(1000) set   sql   =   'declare  @i int,declare @b money   
                     select   @i=coumt(1)   ,@b=sum(*) from   ...' 
      

  3.   

    declare @i int   
    declare @sql nvarchar(1000) set @sql = N'select @i= coumt(1) from ...' 
    EXECUTE sp_executesql @sql ,N'@i int out',@i out
    select @i
      

  4.   


    --这样同楼上
    declare @i int ,@sql nvarchar(1000)  
    set @sql = 'select @i= coumt(*) from table' 
    exec sp_executesql @sql ,N'@i int output',@i output
    select @i