您的位置:首页 > 其它

动态创建临时表,根据变量动态命名临时表表名

2017-07-15 13:05 141 查看
create proc up_createtmptable14(@id int)

as

while @id<3

begin

declare @sql varchar(8000)

select @sql=''

select @sql='SELECT * into ##t1_'+cast(@id as varchar(10))+' FROM [DB_MES2].[dbo].[MES_PRODUCT_PART]'

--select @sql='select * into ##t_'+cast(@id as varchar(10))+' from sysobjects'

exec(@sql)

set @id=@id+1

end

go

SELECT * FROM ##t1_3

exec up_createtmptable14 1

drop table ##t1_2

--1、创建全局临时表(用两个#)。

--declare @n nvarchar(10),@s nvarchar(100)

--set @n = 'temp'

--set @s = N'select * into ##'+@n+' from mytable'

----print @s

--exec sp_executesql @s

--2、创建真正的表(去掉#),一定要小心的创建,小心的删除。

--declare @n nvarchar(10),@s nvarchar(100)

--set @n = 'temp'

--set @s = N'select * into '+@n+' from mytable'

----print @s

--exec sp_executesql @s

--这种方法创建的表,存放在当前的数据库里,而不是像临时表一样存放在tempdb数据库里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: