JavaScriptが無効になっています。
この状態では一部の情報が表示されず、すべての機能を利用することができません。
BFILE ( 'directory ' , 'filename' )
EMPTY_BLOB
EMPTY_CLOB
return [ LOB locator ]directory ディレクトリオブジェクトfilename ファイル名
- 空のロケータを戻す。
[画像:avail]
- SQL および PL/SQL の両方で使用可能。
EMPTY_BLOB、EMPTY_CLOB 関数の内容
空の LOB ロケータを戻す。この関数で取得したロケータを直接 DBMS_LOB で使用することは許されない。
使用すると ORA-22275: 指定されたLOBロケータが無効です が発生する。
EMPTY_CLOB 使用例
SQL> set null '<NULL>' SQL> select * from clob_sample; CL ----------------------------------------------------- NOT EMPTY CLOB NOT EMPTY CLOB NOT EMPTY CLOB SQL> insert into clob_sample values ( EMPTY_CLOB() ); 1行が作成されました。 SQL> update clob_sample set cl = EMPTY_CLOB(); 4行が更新されました。 SQL> select * from clob_sample; CL ----------------------------------------------------- <NULL> <NULL> <NULL> <NULL>
DBMS_LOB で使用するとエラーになる
PL/SQL から 空ではない 一時 CLOB に COPY
SQL> declare 2 vsrc clob; 3 vdest clob; 4 begin 5 vsrc := to_clob('あいう'); 6 vdest := to_clob('x'); 7 dbms_lob.copy(vdest, vsrc, 100); 8 end; 9 / PL/SQLプロシージャが正常に完了しました。EMPTY_CLOB で初期化されている CLOB に COPY
SQL> declare 2 vsrc clob; 3 vdest clob; 4 begin 5 vsrc := to_clob('あいう'); 6 vdest := EMPTY_CLOB(); 7 dbms_lob.copy(vdest, vsrc, 100); 8 end; 9 / declare * 行1でエラーが発生しました。: ORA-22275: 指定されたLOBロケータが無効です ORA-06512: "SYS.DBMS_LOB", 行429 ORA-06512: 行7EMPTY_CLOB() の代わりに DBMS_LOB.CREATETEMPORARY(vdest, false); を使用すればよい
(追記) (追記ここまで)