SQL 関数一覧 (E‐N) > EMPTY_BLOB、EMPTY_CLOB

空のロケータを生成、LOB を初期化する

構文

BFILE ( 'directory ' , 'filename' )
EMPTY_BLOB
EMPTY_CLOB
return [ LOB locator ]

引数

directoryディレクトリオブジェクト
filenameファイル名

戻り値

  • 空のロケータを戻す。

適用

  • 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>

SQL*Plus の 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: 行7


SQL 関数 - EMPTY_BLOB,EMPTY_CLOB 関連

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
スポンサード リンク

ITエンジニア キャリアアップ・転職・求人情報

Oracle & IT技術者 専門書

詳解 Oracleアーキテクチャ
価格: 3,360 円 (税込)
新品/ユーズド価格: 3,360 円 より
リリース: 2007-05-30
ユーザーレビュー: 2 件

これならわかる Oracle 超入門教室 第2版
価格: 2,079 円 (税込)
新品/ユーズド価格: 1,500 円 より
リリース: 2007-07-31
ユーザーレビュー: 2 件

逆引き UNIXコマンドポケットリファレンス (POCKET REFERENCE)
価格: 2,394 円 (税込)
新品/ユーズド価格: 2,394 円 より
リリース: 2008-01-08
ユーザーレビュー: 1 件

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ オラクルサポートセンター
Google