declar @s varchar(1023)
set @s = 'select * from tablename where ....'
exec(@s)  --用exec

解决方案 »

  1.   

    declar @s varchar(1023)
    set @s = 'select * from tablename where ....'
    exec(@s)  --用exec同意樓上
      

  2.   

    但是,我的sql语句是动态生成的。中间有“ '' ”(单引号)。如何处理。例如
    declar @s varchar(1023),
           @f varchar(20)
    set @f = 'ss'
    set @s = 'select * from tablename where 列1 = ' +  @f 
    列1是varchar
      

  3.   

    declar @s varchar(1023),
           @f varchar(20)
    set @f = 'ss'
    set @s = 'select * from tablename where 列1 = ''' +  @f +''''