可以,使用动态sql语句
declare @tablename varchar(50)
declare @sql varchar(1024)
select @tablename = name from alltable where id = 1
set @sql='insert '+ @tablename+'(id,count) values(1,1)'
然后
execute(@sql)

解决方案 »

  1.   

    declare @tablename varchar(50)
    declare @v_sql varchar(200)
    select @tablename = name from alltable where id = 1
    set @v_sql = 'insert into '+@tablename+' (id,count) values(1,1)'
    exec (@v_sql)
      

  2.   

    使用字符串生成一条你想要的SQL,
    然后execute 就行了
      

  3.   

    我试过了,如果变量是字符串型的没问题。如
    select @sql = 'insert into'+@s_tablename +' (id,count,date) values('+@s_id+
    ','+@s_count+','+@s_date+')'
    但当变量是整型或日期型时就会出错。
    请问是不是要类型转换?如何转换呢