操作数据库插入数据主键冲突
2,014次浏览
编辑于2015年09月18日 11:29:22
需求:A是一张单据的主表,B是另一张单据的分录表,通过A单据审核,批量插入B表对应数据,比如找到符合条件的B表记录数为700(即700张B单据主表),那么本次审核需要插入B表700条记录,数据取自A表现在的解决方法是:先找到符合条件的B表记录数,如700条,再生成对应数量(700个)的B表主键(FENTRYID),这样就可以批量插入了
问题:目前的生成主键方法出现与现有主键(FENTRYID)冲突问题
现生成主键sql:insert into Z_TEST_TABLENAME(column1) select top({0}) 1 from master..spt_values x cross join master..spt_values y;(参数为数量,B表表名如为T_TEST_TABLENAME,则这里的表名则用Z_TEST_TABLENAME,这个是之前写的,记不清当时是咨询总部哪位的了)