ISTEMPORARY関数は、一時的なLOBインスタンスを検証するために使用されます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_LOB.ISTEMPORARY (
lob_loc IN BLOB)
RETURN INTEGER;
DBMS_LOB.ISTEMPORARY (
lob_loc IN CLOB CHARACTER SET ANY_CS)
RETURN INTEGER;
パラメータの説明
lob_loc :指定されたLOB Locatorを表します。詳細については、DBMS_LOBの使用方法参照してください。
戻り値
LOBが一時的で存在する場合、戻り値は1です。LOBが一時的ではないか存在しない場合、戻り値は0です。指定されたLocatorがNULL場合、NULL返します。
使用方法
FREETEMPORARY使用して一時LOBを解放すると、LOB LocatorはNULLに設定されません。LOB Locatorが解放されても明示的にNULLにリセットされていない場合、ITEMPORARY0返します。
例
obclient> SELECT DBMS_LOB.ISTEMPORARY(TO_CLOB('asd')) FROM DUAL;
+--------------------------------------+
| DBMS_LOB.ISTEMPORARY(TO_CLOB('ASD')) |
+--------------------------------------+
| 1 |
+--------------------------------------+
1 row in set
obclient> SELECT DBMS_LOB.ISTEMPORARY(TO_CLOB('30303031')) FROM DUAL;
+-------------------------------------------+
| DBMS_LOB.ISTEMPORARY(TO_BLOB('30303031')) |
+-------------------------------------------+
| 1 |
+-------------------------------------------+
1 row in set
obclient> SET SERVEROUTPUT ON;
Query OK, 0 rows affected
obclient> DELIMITER /
obclient> DECLARE
my_clob CLOB;
BEGIN
my_clob := to_clob('abcd');
DBMS_LOB.FREETEMPORARY(my_clob);
DBMS_OUTPUT.PUT_LINE('istemp: ' || DBMS_LOB.ISTEMPORARY(my_clob));
END;
/
Query OK, 1 row affected
istemp: 0