select 'tb=' + cast(tb as varchar) + ';tb_name=' +  cast(tb_name  as varchar) + ';tb_sql=select * from ' + cast(tb_sql as varchar) + ';' from tb

解决方案 »

  1.   

    create table test(tb int, tb_name varchar(10), tb_sql varchar(50))
    insert into test values(22 , 'saletb' , 'select * from saletb') 
    goselect 'tb=' + cast(tb as varchar) + ';tb_name=' +  cast(tb_name  as varchar) + ';tb_sql=' + cast(tb_sql as varchar) + ';' from testdrop table test/*
                                                                                                                    
    --------------------------------------------------------------------------------------------------------------- 
    tb=22;tb_name=saletb;tb_sql=select * from saletb;(所影响的行数为 1 行)
    */
      

  2.   

    create table test(tb int, tb_name varchar(10), tb_sql varchar(50))
    insert into test values(22 , 'saletb' , 'select * from saletb') 
    goselect 'tb=' + cast(tb as varchar) + ';tb_name=' +  cast(tb_name  as varchar) + ';tb_sql=' + cast(tb_sql as varchar) + ';' from testdrop table test/*
                                                                                                                    
    --------------------------------------------------------------------------------------------------------------- 
    tb=22;tb_name=saletb;tb_sql=select * from saletb;(所影响的行数为 1 行)
    */
      

  3.   

    --> By dobear_0922(小熊) 2009-02-25 16:40:43
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    create table [tb]([tb] int,[tb_name] varchar(6),[tb_sql] varchar(32))
    insert [tb]
    select 22,'saletb','select * from saletb'declare @sql nvarchar(1000)
    select @sql=isnull(@sql+'+'';''+','')+''''+[name]+'=''+rtrim(' + [name] + ')'
    from syscolumns
    where id=object_id('tb')print  ('select '+@sql + ' from tb')
    exec ('select '+@sql + ' from tb')/*
    select 'tb='+rtrim(tb)+';'+'tb_name='+rtrim(tb_name)+';'+'tb_sql='+rtrim(tb_sql) from tb----------------------------------------------------------------------
    tb=22;tb_name=saletb;tb_sql=select * from saletb(1 行受影响)
    */drop table tb
      

  4.   

    --> By dobear_0922(小熊) 2009-02-25 16:40:43
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    create table [tb]([tb] int,[tb_name] varchar(6),[tb_sql] varchar(32))
    insert [tb]
    select 22,'saletb','select * from saletb'declare @sql nvarchar(1000)
    set @sql='select '
    select @sql=@sql+''''+[name]+'=''+rtrim(' + [name] + ')+'';'''
    from syscolumns
    where id=object_id('tb')
    set @sql=@sql + ' from tb'--print  @sql
    exec(@sql)/*-------------------------------------------------------------------------
    tb=22;'tb_name=saletb;'tb_sql=select * from saletb;(1 行受影响)
    */drop table tb
      

  5.   

    --> By dobear_0922(小熊) 2009-02-25 16:40:43
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    create table [tb]([tb] int,[tb_name] varchar(6),[tb_sql] varchar(32))
    insert [tb]
    select 22,'saletb','select * from saletb'declare @sql nvarchar(1000)
    select @sql=isnull(@sql+'+','')+''''+[name]+'=''+rtrim(' + [name] + ')+'';'''
    from syscolumns
    where id=object_id('tb')
    set @sql='select '+ @sql + ' from tb'--print  @sql
    exec(@sql)/*
    tb=22;tb_name=saletb;tb_sql=select * from saletb;(1 行受影响)
    */drop table tb
      

  6.   

    --> 测试数据: [s]
    if object_id('[s]') is not null drop table [s]
    create table [s] (tb int,tb_name varchar(6),tb_sql varchar(50))
    insert into [s]
    select 22,'saletb','select * from saletb'declare @sql varchar(100)
    select @sql=isnull(@sql+'+'';','''')+name+'=''+ltrim('+name+')' from syscolumns where id=object_id('s') 
    exec('select '+@sql+' from s')
      

  7.   

    --这个不就是么?
    declare @sql varchar(8000)
    select @sql=isnull(@sql+'+'';','''')+name+'=''+ltrim('+name+')' from syscolumns where id=object_id('s') 
    exec('select '+@sql+' from s')