SqlServer中 表A复制到表B,且表B自增还没有列信息的问题

接到一个任务,需求是把一个表的数据迁移到临时表,然后清空那个表,再从临时表把数据迁移回原表。

写一个通用的存储过程,这就意味着了解的参数只有tablename

在表不自增的情况下实现起来很简单

select * into,truncate,insert into tablename select 就行了

但一到表有自增列就麻烦了,网上有很多解决方案

即修改表的IDENTITY_INSERT为ON

然后insert into tablename(字段名) select * from #temp

由于此存储过程是通用的工具方法,不能传字段名

但insert into tablename select * from #temp会报错

想了一下午终于想到在syscolumns表中可以根据tablename找到字段名

这样就可以把字段名拼接为字符串

posted on 2018-03-22 16:24  沐青竹  阅读(144)  评论(0)    收藏  举报

导航