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

Cách cập nhật chuỗi rỗng thành oracle Clob

Như tôi đã đề cập trong câu hỏi khác của bạn :theo kinh nghiệm của tôi getClob () và setClob () không hoạt động bình thường.

Sử dụng setCharacterStream() thay vào đó:

StringReader clob = new StringReader("");
pStmt = conn.prepareStatement("update activity set REFERENCE = ? WHERE ID = ?");
pStmt.setCharacterStream(1, clob, 0);
pStmt.setLong(2, 1);
pStmt.executeUpdate();

Bằng cách đó, bạn cũng có thể xóa CHỌN không cần thiết trước khi cập nhật, điều này cũng sẽ cải thiện hiệu suất.

Một tùy chọn khác là chỉ cần đặt cột đó thành NULL

Chỉnh sửa:

Với các trình điều khiển mới hơn (11.x), bạn cũng có thể muốn thử sử dụng setString()getString() trên cột CLOB.

Việc khóa hàng chỉ nên cần thiết khi bạn sử dụng công cụ định vị LOB mà bạn định giữ lại trong một giao dịch kéo dài nhiều hơn một câu lệnh (ít nhất đó là hiểu biết của tôi về tài liệu tham khảo được liên kết đến sách hướng dẫn).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để triển khai ứng dụng .NET sử dụng ODAC mà không cần cài đặt toàn bộ thành phần cho người dùng?

  2. Cập nhật cùng một bảng sau khi Chèn trình kích hoạt

  3. Làm thế nào để ghi XML vào tệp (PL / SQL)?

  4. Cách lấy nhiều hàng từ một hàm được lưu trữ bằng oracle

  5. Thực thi nhiều truy vấn trong một lệnh Oracle trong C #