首页 新闻 搜索 专区 学院

CREATE、DROP 或 ALTER 语句中使用了未知的对象类型 'TABLE12192013'

0
悬赏园豆:15 [已解决问题] 解决于 2013-12-20 13:08

我是想在sqlserver里 按日期创建表 

创建了一个用于创建新表的proc 传入当前日期为参数作为表名  我跟踪了语句 执行到存储过程里的print @tableN 一处是正常的 但执行exec创建表格的语句时 就出现了如题所示的异常 请指教...

///////////////////////

declare @tableName nvarchar(50)

set @tableName=REPLACE( SUBSTRING(CONVERT(nvarchar, GETDATE()),1,10),' ','')
print @tableName
if OBJECT_ID(@tableName)is not null
  begin
    print 'exist'
  end
else
  begin
    print 'create table'
    exec up_CreateTable @tableName  //在此调用上面所创建的proc
  end

////////////

drop proc up_CreateTable
go
create proc up_CreateTable
@tableN nvarchar(50)
as
print @tableN+'*****'//语句执行到这里一步都正常 但就在下面的exec语句里出现了如题所                   示的异常
exec( 'CREATE TABLE' +@tableN+'(
[id] [int] NULL,
[img] [varbinary](max) NULL,
[test] [nvarchar](max) NULL,
[address] [nvarchar](50) NULL,
[age] [int] NULL
) on primary
go'
)
go

Tann007的主页 Tann007 | 初学一级 | 园豆:131
提问于:2013-12-19 14:05
< >
分享
最佳答案
0

table 后面多加个空格看看,或者@table变量前加个空格

收获园豆:15
仰望星空66 | 初学一级 |园豆:127 | 2013-12-20 11:33

useless...

Tann007 | 园豆:131 (初学一级) | 2013-12-20 13:03

you are right, it works...Thanks

Tann007 | 园豆:131 (初学一级) | 2013-12-20 13:07

@Tann007: not at all

仰望星空66 | 园豆:127 (初学一级) | 2014-01-13 11:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册