我试图插入约30k行数据到数据库中。前一千行没有任何问题,但之后我一直得到错误"INSERT语句与FOREIGN KEY约束冲突"
我插入到一个表首先得到的身份,然后使用它作为一个fk为另一个表。代码看起来像
insert into PYMT_HIST(PAR_NUM,BILL_NUM,RCPT_NUM,TAX_YR,TOT_AMT_DUE,TOT_PD,PD_DATE,PD_BY,MUNI_DIST_ID)
values (@par_num,@BILL_NUM,@RCTP_NUM,@TAX_YR,@TOT_AMT_DUE,@TOT_PD,(Convert(datetime,@PD_DATE)),@PD_BY,@MUNI_DIST_ID);
set @pymt_hist_id = @@identity
IF @REAL_ESTATE > 0
insert into PYMT_HIST_DETL(PYMT_HIST_ID,AMT_PD,FIN_TXN_LN_TY_ID)
values(@pymt_hist_id,@REAL_ESTATE,1);
尝试使用Scope_Identity()函数代替@@Identity。@@Identity具有全局作用域,可以在您正在执行的工作范围之外进行更改。