In Oracle PL/SQL, um zu prüfen, ob BLOB
oder CLOB
leer ist oder nicht, verwenden Sie dbms_lob.getlength()
Funktion oder dbms_lob.compare()
Funktion. Hier sind die Beispiele:
1. Verwendung der Funktion 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. Verwendung der Funktion 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;
Ebenso, um nach leerem CLOB
zu suchen , ändern Sie den Variablentyp in clob
und ersetzen Sie empty_blob()
Funktion mit empty_clob()
Funktion im obigen PL/SQL-Code.
Verwandte Tutorials:
- Wie speichert man BLOB als Datei in PL/SQL?
- Wie erhalte ich BLOB aus einer Datei in PL/SQL?
- Wie bekomme ich eine Datei von BLOB in Oracle?
- Wie extrahiert man BLOB-Daten aus Oracle mit Toad?
- Anzeigen von BLOB-Inhalten (PDF, Bilder) in einer Region auf der Oracle Apex-Seite
- Anzeigen von CLOB-Inhalten in Oracle Apex