Oracle PL / SQLで、BLOBかどうかを確認します またはCLOB 空であるかどうかにかかわらず、dbms_lob.getlength()を使用します 関数またはdbms_lob.compare() 働き。次に例を示します。
1。 dbms_lob.getlength()関数の使用
declare
vblob blob;
Cursor c_blob
is
select content into vblob
from employee_docs
where employee_id = 101;
begin
open c_blob;
fetch c_blob into vblob;
close c_blob;
/* if the vblob is empty then the length would be 0 */
if dbms_lob.getlength(vblob) = 0 then
raise_application_error(-20001, 'Blob is empty.');
end if;
-- do anything with vblob
end; 2。 dbms_lob.compare()関数の使用
declare
vblob blob;
Cursor c_blob
is
select content into vblob
from employee_docs
where employee_id = 101;
begin
open c_blob;
fetch c_blob into vblob;
close c_blob;
/* if vblob is equal to an empty_blob, means it is empty */
if dbms_lob.compare(vblob, empty_blob()) = 0 then
raise_application_error(-20001, 'Blob is empty.');
end if;
-- do anything with vblob
end;
同様に、空のCLOBをチェックするには 、変数タイプをclobに変更します empty_blob()を置き換えます empty_clob()を使用した関数 上記のPL/SQLコードで機能します。
関連チュートリアル:
- PL / SQLでBLOBをファイルとして保存するにはどうすればよいですか?
- PL / SQLのファイルからBLOBを取得するにはどうすればよいですか?
- OracleでBLOBからファイルを取得する方法
- Toadを使用してOracleからBLOBデータを抽出する方法
- BLOBコンテンツ(PDF、画像)をOracleApexページのリージョンに表示する
- OracleApexでのCLOBコンテンツの表示