日期:2014-05-18  浏览次数:20477 次

不能将NULL插入iIndex
如题,该怎么办,两张表A,B. 
B表插入A表,A表有iIndex字段,B表没有。
该怎么插? 自己造索引值?真的造了,将来会不会跟A表本身自增长的重复?

------解决方案--------------------
declare @count int

set @count = (select count(*) from A)

insert into A
select ROW_NUMBER() over (order by iIndex) + @count , *
from B
------解决方案--------------------
如果A表的iIndex是自增长的,那不用管,insert语句里不要有iIndex字段即可。
如果不是自增长,那么需要考虑这个字段取值的策略,到底放什么值,如果要将A表和B表的值区别,那么凡是从B表来的需要设定一个统一标记。