Can I use 2 commit in stored procedure
vikky123Nov 17 2010 — edited Nov 18 2010Can I use 2 commit in my below stored procedure.Please find below constrains on tables
--Added Primary key to parent Parent table:
ALTER TABLE parent_inbd_intf
ADD PRIMARY KEY (PROJECT_NUMBER);
--Added Foreign Key to Child table:
ALTER TABLE child_task_inbd_intf
add CONSTRAINT fk_parent_inbd_intf
FOREIGN KEY (PROJECT_NUMBER)
REFERENCES parent_inbd_intf(PROJECT_NUMBER)
ON DELETE CASCADE;
"{
--------------ParentTable insert,delete,update--------------------------------
FOR I IN 1..parent_task_records.count
LOOP
IF <Condition>THEN
DELETE
FROM ---
ELSE
MERGE INTO RECORD_TASK T USING
(SELECT ........... AS obj
FROM DUAL
)
s ON (.........)
WHEN MATCHED THEN
UPDATE
SET ...............
WHEN NOT MATCHED THEN
INSERT
(
..............
)
VALUES
(
............
);
----Replaced Commit from here
End IF;
END LOOP;
----Placed Commit from here
COMMIT;
--------------Child Table insert,delete,update--------------------------------
FOR I IN 1..child_task_records.count
LOOP
IF <Condition>THEN
DELETE
FROM ---
ELSE
MERGE INTO RECORD_TASK T USING
(SELECT ........... AS obj
FROM DUAL
)
s ON (.........)
WHEN MATCHED THEN
UPDATE
SET ...............
WHEN NOT MATCHED THEN
INSERT
(
..............
)
VALUES
(
............
);
----Replaced Commit from here
End IF;
END LOOP;
----Placed Commit below
COMMIT;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR
(
-20734,SQLCODE||' ' || SQLERRM
)
;
END;
}"
Edited by: vikky123 on Nov 17, 2010 11:22 AM