Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle PL / SQL:Kiểm tra xem BLOB hoặc CLOB có trống không

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
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ma trận các phiên bản được hỗ trợ của Oracle

  2. Có một hệ thống kiểm soát phiên bản cho các thay đổi cấu trúc cơ sở dữ liệu không?

  3. Sự khác biệt giữa Hàm bảng và Hàm Pipelined?

  4. Khi nào tôi nên lồng các khối PL / SQL BEGIN ... END?

  5. Làm cách nào để nhận thông tin về Loại do người dùng xác định?