2013-08-30 2 views

답변

3

당신은 기능 여기 dbms_transaction.local_transaction_id

를 사용할 수는 예입니다 (here에서 촬영)

SELECT dbms_transaction.local_transaction_id 
FROM dual; 

CREATE TABLE t (
testcol NUMBER(3)); 

INSERT INTO t 
VALUES (1); 

SELECT dbms_transaction.local_transaction_id 
FROM dual; 

CREATE OR REPLACE FUNCTION atf RETURN VARCHAR2 IS 
PRAGMA AUTONOMOUS_TRANSACTION; 
x VARCHAR2(20); 
BEGIN 
    INSERT INTO t 
    (testcol) 
    VALUES 
    (2); 

    x := dbms_transaction.local_transaction_id; 
    COMMIT; 

    RETURN x; 
END atf; 
/

set serveroutput on 

DECLARE 
x VARCHAR2(20); 
BEGIN 
    x := atf; 
    dbms_output.put_line(x); 

    INSERT INTO t VALUES (3); 

    x := dbms_transaction.local_transaction_id; 
    dbms_output.put_line(x); 
    COMMIT; 
END; 
/
+0

덕분에, 나는 그것을 시도 줄 것입니다. –

관련 문제