我创建表的语句是这样的:declare @tableName varchar(20)
set @tableName = '#tempTable'
declare @n int
exec 'Use Test Create Table '+@tableName+'(id int,content nvarchar(20))'执行后,报错:消息 102,级别 15,状态 1,第 4 行
'Use Test Create Table ' 附近有语法错误。请问大家,这是怎么回事?

解决方案 »

  1.   

    declare @tableName varchar(20)
    set @tableName = '#tempTable'
    declare @n int
    exec ('Use Test Create Table '+@tableName+'(id int,content nvarchar(20))')
      

  2.   


    select * from #tempTable消息 208,级别 16,状态 0,第 6 行
    对象名 '#tempTable' 无效。
      

  3.   

    Use Test--這是多餘的,臨時表都存儲在Tempdb里
      

  4.   

    declare @tableName varchar(20)
    set @tableName = '##tempTable'
    declare @n int
    exec ('Create Table '+@tableName+'(id int,content nvarchar(20))')
    SELECT * FROM ##tempTable--或
    go
    declare @tableName varchar(20)
    set @tableName = '#tempTable'
    declare @n int
    exec ('Create Table '+@tableName+'(id int,content nvarchar(20))
    SELECT * FROM #tempTable')