这是一个奇怪的......我有两个表tableA和tableB tableB在tableA中有一个外键。
我有 2 个存储过程,一个插入到 tableA,另一个插入到 tableB。
使用 odp.net 我运行第一个存储过程,将记录插入到 tableA 中。然后我可以打开 SQLPlus 并选择这条记录
然后我运行第二个存储过程,插入到 tableB 中。 它因“ora-02291-integrity-constraint-violated-parent-key-not-found”而失败
我有双重,三重,四重检查错别字等......什么都没有。
当我在 SQLPlus 中使用相同的存储过程手动执行相同的操作时,让事情变得更加奇怪,它可以毫无问题地工作。
这让我花了 12 多个小时寻找我知道必须简单的东西。这是存储过程。
斯普罗卡
CREATE OR REPLACE PROCEDURE genData_TestTrackerSegment
(
INTX_ID IN IntxSegment.IntxID%TYPE,
siteid IN INT
)
AS
BEGIN
INSERT INTO INTXSEGMENT(INTXID,INTXTYPEID,VERSION,ISPRIVATE,
SEGMENTTYPE,STARTDATETIME,INTXDIRECTION,SITEID)
VALUES(INTX_ID,1,1,0,1,SYSDATE,1,siteid);
COMMIT;
END;
SPROCB
CREATE OR REPLACE PROCEDURE genData_TestTrackerPart
(
INTX_ID IN IntxSegment.IntxID%TYPE,
INTX_PART_ID IN INTX_PARTICIPANT.INTX_PART_ID%TYPE,
INDIVID IN INDIVIDUAL.INDIVID%TYPE,
CALLID IN INTX_PARTICIPANT.CALLIDKEY%TYPE
)AS
BEGIN
INSERT INTO
INTX_PARTICIPANT(INTXID,INTX_PART_ID,INDIVID,ROLE,
CALLIDKEY,RECORDED,VERSION,STARTDATETIME)
VALUES(INTX_ID,INTX_PART_ID,INDIVID,1,CALLID,1,1,SYSDATE);
COMMIT;
END;