INSERT语句在第一个1k插入后与FOREIGN KEY约束冲突



我试图插入约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具有全局作用域,可以在您正在执行的工作范围之外进行更改。

最新更新