V Oracle PL/SQL zkontrolujte, zda BLOB
nebo CLOB
je prázdná nebo ne, použijte dbms_lob.getlength()
funkce nebo dbms_lob.compare()
funkce. Zde jsou příklady:
1. Pomocí funkce 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. Pomocí funkce 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;
Podobně pro kontrolu, zda není CLOB
prázdný , změňte typ proměnné na clob
a nahraďte empty_blob()
funkce s empty_clob()
funkce ve výše uvedeném kódu PL/SQL.
Související výukové programy:
- Jak uložit BLOB jako soubor v PL/SQL?
- Jak získat BLOB ze souboru v PL/SQL?
- Jak získat soubor z BLOB v Oracle?
- Jak extrahovat data BLOB z Oracle pomocí Toad?
- Zobrazení obsahu BLOB (PDF, obrázky) do oblasti na stránce Oracle Apex
- Zobrazení obsahu CLOB v Oracle Apex