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

Có cách nào để xóa đầu ra từ PL / SQL trong Oracle không?

Không hẳn vậy. Cách hoạt động của DBMS_OUTPUT là:Khối PL / SQL của bạn thực thi trên máy chủ cơ sở dữ liệu mà không có tương tác với máy khách. Vì vậy, khi bạn gọi PUT_LINE, nó chỉ là đưa văn bản đó vào một bộ đệm trong bộ nhớ trên máy chủ. Khi khối PL / SQL của bạn hoàn thành, quyền kiểm soát được trả lại cho máy khách (tôi giả sử SQLPlus trong trường hợp này); tại thời điểm đó, khách hàng lấy văn bản ra khỏi bộ đệm bằng cách gọi GET_LINE và hiển thị nó.

Vì vậy, cách duy nhất bạn có thể làm cho đầu ra xuất hiện trong tệp nhật ký thường xuyên hơn là chia nhỏ khối PL / SQL lớn thành nhiều khối nhỏ hơn, do đó, quyền kiểm soát được trả lại cho máy khách thường xuyên hơn. Điều này có thể không thực tế tùy thuộc vào những gì mã của bạn đang làm.

Các lựa chọn thay thế khác là sử dụng UTL_FILE để ghi vào tệp văn bản, tệp này có thể được xóa bất cứ khi nào bạn muốn hoặc sử dụng quy trình giao dịch tự quản để chèn các câu lệnh gỡ lỗi vào bảng cơ sở dữ liệu và cam kết sau mỗi câu lệnh.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bằng (=) so với LIKE cho kiểu dữ liệu ngày tháng

  2. Thủ tục được lưu trữ trong Oracle Ví dụ với tham số IN OUT

  3. Chương trình PL / SQL để xóa các bản ghi khỏi bảng

  4. Cách so sánh hai bảng theo từng cột trong oracle

  5. Kết quả không có thứ tự trong SQL