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找到字段名
这样就可以把字段名拼接为字符串
浙公网安备 33010602011771号