+ -
当前位置:首页 → 问答吧 → 如何在sql server中动态创建一个表?

如何在sql server中动态创建一个表?

时间:2011-11-13

来源:互联网

我创建表的语句是这样的:

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 ' 附近有语法错误。

请问大家,这是怎么回事?

作者: mynameisduanjx   发布时间: 2011-11-13

和你一起关注。。。。

作者: suiyanpeng   发布时间: 2011-11-13

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

作者: ssp2009   发布时间: 2011-11-13

引用 2 楼 ssp2009 的回复:
SQL code

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


SQL code
select * from #tempTable


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

作者: mynameisduanjx   发布时间: 2011-11-13

当然无效啊,你动态创建的,语句一结束,表就释放掉了

作者: ssp2009   发布时间: 2011-11-13

动态创建只在当前连接中有效.

作者: chirea   发布时间: 2011-11-13