No Oracle PL/SQL, para verificar se
BLOB
ou CLOB
estiver vazio ou não, use o dbms_lob.getlength()
função ou dbms_lob.compare()
função. Aqui estão os exemplos:1. Usando a função 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. Usando a função 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;
Da mesma forma, para verificar se há
CLOB
vazio , altere o tipo de variável para clob
e substitua o empty_blob()
função com empty_clob()
função no código PL/SQL acima. Tutoriais relacionados:
- Como salvar BLOB como arquivo em PL/SQL?
- Como obter o BLOB do arquivo em PL/SQL?
- Como obter o arquivo do BLOB no Oracle?
- Como extrair dados BLOB do Oracle usando o Toad?
- Exibir conteúdo BLOB (PDF, imagens) em uma região na página do Oracle Apex
- Exibindo conteúdo CLOB no Oracle Apex
-
Implementando uma classificação personalizada
-
Traga sua própria nuvem (BYOC) versus hospedagem dedicada no ScaleGrid
-
Qual é a melhor estrutura de alta disponibilidade do PostgreSQL? PAF vs. repmgr vs. Infográfico Patroni
-
Como mostrar ou reexibir a barra de ferramentas de acesso rápido no Word, Excel e PowerPoint