RELEASEは、以前にREQUEST関数で取得したロックを明示的に解放するために使用します。RELEASEサブルーチンは、現在release_on_commit = trueのシナリオでのロックの解除はできません。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_LOCK.RELEASE (
id IN INTEGER)
RETURN INTEGER;
DBMS_LOCK.RELEASE (
lockhandle IN VARCHAR2)
RETURN INTEGER;
パラメータ説明
パラメータ |
説明 |
|---|---|
| idまたはlockhandle | ロックIDまたはロックハンドル。 |
戻り値
RELEASEサブルーチンは、操作の成功または失敗を示す整数値を返します。戻り値が0の場合はロックの解放に成功したことを意味し、その他の戻り値の解釈は次の表のとおりです。
戻り値 |
説明 |
|---|---|
| 0 | 成功。 |
| 3 | パラメータエラー。 |
| 4 | 指定されたIDまたはLock Handleを持つロックが存在しません。 |
| 5 | 無効なLock Handle。 |
例
obclient> DECLARE
-> LOCKID INTEGER := 1;
-> CALL_STATUS INTEGER;
-> BEGIN
-> CALL_STATUS := DBMS_LOCK.RELEASE(LOCKID);
-> DBMS_OUTPUT.PUT_LINE(CALL_STATUS);
-> END;
-> /
Query OK, 1 row affected (0.817 sec)