可以declare @tabname varchar(100),@sql varchar(8000)
set @sql='create table '+ @tabname + '(id int)'
exec(@sql)

解决方案 »

  1.   

    create proc p_ct (@tablename varchar(30))
    as
    declare @s varchar(1000)
    set @s = 'create table '+@tablename+' (id int, col1 varchar(10))'
    exec (@s)
    go
      

  2.   

    用动态语句 exec执行即可exec 'create table '+@tablename +'(.......)'
      

  3.   

    多谢!
    我待会试试,成功就马上散分:)
    现在老板在,不能用sql,这是我个人编来玩的。
      

  4.   

    exec ('create table '+@tablename +'(.......)')
      

  5.   

    多谢,可以了!
    还有一个问题:
    如何从将一个查询结果赋值给一个变量!
    例如:select name from inserted 
    有一个变量 @tabname
    如何将上述查询的结果赋值给@tabname呢?
    请多多赐教?我刚学,比较弱智:)
    马上结贴!
      

  6.   

    select @tabname=name from inserted 假如查询得到多条记录,返回结果只是第一条记录的值