-1
我是PLSQL的新手。我需要一點幫助。如何使用同一交易爲主要功能和子功能。我的例子,如果開放註釋行的作品,但我想在主要功能使用一個事務。可能嗎?PLSQL中如何使用相同的事務多功能
CREATE OR REPLACE FUNCTION MAINFUNC(PAR1 IN NUMBER)
RETURN VARCHAR2
IS
RITEM VARCHAR2 (1000);
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO table_name
VALUES (value1,value2,value3,...);
RITEM := SUBFUNCTION(PAR2);
COMMIT;
EXCEPTION
ROLLBACK;
END;
子函數這裏:
CREATE OR REPLACE FUNCTION SUBFUNCTION(PAR2 IN NUMBER)
RETURN VARCHAR2
IS
RITEM VARCHAR2 (1000);
--PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO table_name
VALUES (value1,value2,value3,...);
--COMMIT;
EXCEPTION
--ROLLBACK;
END;
什麼是真正的問題?你的代碼使用一個獨特的(自治)事務,這是因爲你在子功能中評論了提交和回滾,所以它完全符合你的要求。 – Massimo
我也想使用主函數的子函數的事務,但我couldnt和我得到這個錯誤ORA-14552.But如果我提交的子函數的變化不要得到任何錯誤@Massimo –
你爲什麼使主功能自主?這是非常非常少的必要或一個好主意。 –