Trong Oracle PL / SQL, để kiểm tra xem BLOB hoặc CLOB trống hoặc không, hãy sử dụng dbms_lob.getlength() function hoặc dbms_lob.compare() hàm số. Dưới đây là các ví dụ:
1. Sử dụng hàm 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. Sử dụng hàm 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;
Tương tự, để kiểm tra CLOB trống , thay đổi loại biến thành clob và thay thế empty_blob() hàm với empty_clob() trong mã PL / SQL ở trên.
Hướng dẫn liên quan:
- Cách lưu BLOB dưới dạng tệp trong PL / SQL?
- Cách tải BLOB từ tệp trong PL / SQL?
- Cách lấy tệp từ BLOB trong Oracle?
- Làm thế nào để trích xuất dữ liệu BLOB từ Oracle bằng Toad?
- Hiển thị Nội dung BLOB (PDF, Hình ảnh) thành một Vùng trong Trang Oracle Apex
- Hiển thị Nội dung CLOB trong Oracle Apex