declare @tablename varchar(20)
declare @condition varchar(100)
set @tablename= 'sysobjects'
set @condition = 'xtype = ''U'''
exec('select * from '+ @tablename + ' where ' + @condition)

解决方案 »

  1.   

    exec('select * from '+@aaa+' where '+@bbb)
      

  2.   

    可以:
    declare @aaa as varchar(10),bbbb as varchar(100)
    set @aaa='yourtable'
    set @bbbb='colname1<>'条件''
    ...
    exec('select * from '+@aaa+' where '+@bbbb)
      

  3.   

    谢谢各位
    那么在set @condition = 'xtype = ''U'''(或set @bbbb='colname1<>'条件'')中'='后面可不可以是变量呢?
      

  4.   

    那么在set @condition = 'xtype = ''U'''(或set @bbbb='colname1<>'条件'')中'='后面可不可以是变量呢?可以,
    如:select * from sysobjects where xtype=@变更
      

  5.   

    真的很感谢各位!
    本来是这个意思的!
    因为我想做一个动态多条件查询的
    declare @tablename varchar(10)
    declare @condition varchar(100)
    set @tablename = 'mytable'
    set @condition = 'xtype = ''U'''
    所以.上面 'mytable'和'xtype...'也是一个变量..
    不知道这样应该怎么写