sql >> Databáze >  >> RDS >> Oracle

Oracle PL/SQL:Zkontrolujte, zda je BLOB nebo CLOB prázdný

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
  1. Jak převést hodnoty oddělené čárkami na řádky v oracle?

  2. Ovladač QPSQL není načten Qt

  3. Halloweenský problém – 3. část

  4. Jak srovnávat výkon MySQL a MariaDB pomocí SysBench