I Oracle PL/SQL for at kontrollere, om BLOB eller CLOB er tom eller ej, skal du bruge dbms_lob.getlength() funktion eller dbms_lob.compare() fungere. Her er eksemplerne:
1. Brug af funktionen 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. Brug af funktionen 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;
Tilsvarende for at kontrollere for tom CLOB , skift variabeltypen til clob og erstat empty_blob() funktion med empty_clob() funktion i ovenstående PL/SQL-kode.
Relaterede selvstudier:
- Hvordan gemmer man BLOB som fil i PL/SQL?
- Hvordan får man BLOB fra fil i PL/SQL?
- Hvordan hentes fil fra BLOB i Oracle?
- Hvordan udtrækker man BLOB-data fra Oracle ved hjælp af Toad?
- Vis BLOB-indhold (PDF, billeder) i en region på Oracle Apex-side
- Visning af CLOB-indhold i Oracle Apex