W Oracle PL/SQL, aby sprawdzić, czy BLOB lub CLOB jest pusty lub nie, użyj dbms_lob.getlength() funkcja lub dbms_lob.compare() funkcjonować. Oto przykłady:
1. Korzystanie z funkcji 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. Korzystanie z funkcji 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;
Podobnie, aby sprawdzić puste CLOB , zmień typ zmiennej na clob i zastąp empty_blob() funkcja z empty_clob() funkcji w powyższym kodzie PL/SQL.
Powiązane samouczki:
- Jak zapisać BLOB jako plik w PL/SQL?
- Jak pobrać BLOB z pliku w PL/SQL?
- Jak pobrać plik z BLOB w Oracle?
- Jak wyodrębnić dane BLOB z Oracle za pomocą Toad?
- Wyświetlaj zawartość BLOB (PDF, obrazy) w regionie na stronie Oracle Apex
- Wyświetlanie zawartości CLOB w Oracle Apex