在 TABLE A 中插入数据并使用该数据插入 TABLE B 时,我的存储过程中是否需要多次提交
Do I need multiple commits in my stored procedure while inserting data in TABLE A and using that data to insert in TABLE B
我有一个存储过程,我在其中插入数据 Table T1
。然后根据 Table T1
中插入的数据,我必须在 Table T2
中插入数据(见下面的代码)。我的问题是 - 我是否需要使用 commit;
两次(在 Table T1
中插入数据后,然后在 Table T2
中插入数据后再次使用),还是我可以只使用它一次然后我在 Table T2
?
中插入数据时,将在该过程会话中加入 Table T1
中插入的数据
CREATE OR REPLACE PROCEDURE FOO
AS
BEGIN
INSERT INTO T1 (ID, NAME, PHONE)
SELECT ID,
NAME,
PHONE
FROM CUST;
COMMIT; --Do I really need to use this commit here?
INSERT INTO T2 (ID,NAME,CITY)
SELECT C.ID,
C.NAME,
C.CITY
FROM CUST C
JOIN T1 X
ON X.ID = C.ID
COMMIT;
END FOO;
没有。您不必进行第一次提交。第二次提交完成了这项工作。
我有一个存储过程,我在其中插入数据 Table T1
。然后根据 Table T1
中插入的数据,我必须在 Table T2
中插入数据(见下面的代码)。我的问题是 - 我是否需要使用 commit;
两次(在 Table T1
中插入数据后,然后在 Table T2
中插入数据后再次使用),还是我可以只使用它一次然后我在 Table T2
?
Table T1
中插入的数据
CREATE OR REPLACE PROCEDURE FOO
AS
BEGIN
INSERT INTO T1 (ID, NAME, PHONE)
SELECT ID,
NAME,
PHONE
FROM CUST;
COMMIT; --Do I really need to use this commit here?
INSERT INTO T2 (ID,NAME,CITY)
SELECT C.ID,
C.NAME,
C.CITY
FROM CUST C
JOIN T1 X
ON X.ID = C.ID
COMMIT;
END FOO;
没有。您不必进行第一次提交。第二次提交完成了这项工作。