トランザクション名を設定し、そのトランザクション名がトランザクション中かどうかを検索する。
SET TRANSACTION NAME 'HOGE_TRANSACTION';
BEGIN TRANSACTION;
INSERT INTO FUGA (NAME,VALUE) VALUES ('HIHO','HIHO');
...
COMMIT TRANSACTION;
というような更新をかけておき、以下のSQLを実行する
SELECT NAME FROM V$TRANSACTION WHERE NAME='HOGE_TRANSACTION';
尚、このような手法ができない場合には、特定のレコードをロックしておいて、ロックが成功するかどうかでも代用できる。その場合、
SELECT * FROM HOGE WHERE ID=9999999999 FOR UPDATE WAIT 1;
というように、WAIT 構文を利用できる。WAIT 構文が無い場合は、ごめんなさい。
0 件のコメント:
コメントを投稿