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

来源:互联网 发布:网络兼职是什么意思 编辑:程序博客网 时间:2024/06/16 12:57
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数据库里。
原创粉丝点击