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またはLockハンドル。 |
戻り値
RELEASEサブルーチンは、操作の成功または失敗を示す整数値を返します。戻り値が0の場合、ロックの解放に成功したことを意味します。その他の戻り値の説明は以下の表のとおりです。
| 返り値 | 説明 |
|---|---|
| 0 | 成功。 |
| 3 | パラメータエラー。 |
| 4 | 指定されたIDまたはLockハンドルを持つロックが存在しません。 |
| 5 | 無効なLockハンドル。 |
例
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)