SQL中,如何将表A结构复制到临时表B中,但是临时表B里面有一个新的字段,并且A中的字段未知,怎么做?
4个回答
2013-05-27
展开全部
1> select 1 as newCol, test_main.* into #new_tab from test_main where 1=2
2> go
(0 行受影响)
1> select * from #new_tab
2> go
newCol id value
----------- ----------- ----------
(0 行受影响)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create table B as select * from A;
alter table B add (colName type default ..);
alter table B add (colName type default ..);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * into #tmp
from A where 1 = 2
alter table #tmp add new_col data_type
from A where 1 = 2
alter table #tmp add new_col data_type
追问
非常感谢,那么再问一下,因为
set @sql='select * into #temp from'+@tableName+' where 1=2';
exec(@sql);
但是这样没有办法获取#temp来进行操作,该怎样写呢?
追答
set @sql='select * into #temp from'+@tableName+' where 1=2';
set @sql= @sql + ' alter table #temp add ..... '
exec(@sql);
如果你放在动态语句里,所有相关的操作都要放在动态语句里。不然取不到临时表。
还有一种方法就是创建全局临时表,就是##temp,这样就可以动态语句内外都可以用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
咕~~(╯﹏╰)b 我也不懂 我文盲
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询