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

Ghi đầu ra DBMS_OUTPUT.Put_Line vào bảng trong Oracle với DBMS_OUTPUT.Get_Lines

Dbms_Output.Put_Line là một cách tốt để gỡ lỗi mã PLSQL một cách dễ dàng bằng cách in các giá trị cần thiết để theo dõi xem mọi thứ đang diễn ra sai ở đâu. Nhưng nếu bạn muốn ghi dữ liệu in đó vào một bảng để phân tích nó bất kỳ lúc nào, bạn có thể thực hiện việc này với thủ tục Dbms_Output.Get_Lines.

Ví dụ được đưa ra dưới đây để ghi các giá trị in Dbms_Output.Put_Line vào một bảng trong Oracle. Dưới đây là cấu trúc của bảng được sử dụng trong ví dụ này có tên là "outputlog" hoặc bạn có thể tạo bảng riêng theo yêu cầu của mình.

CREATE TABLE OUTPUTLOG (CHAR_COL VARCHAR2 (1000 BYTE), PROCNAME VARCHAR2 (100 BYTE), LOG_DATE DATE); Và sau đây là ví dụ khối ẩn danh PLSQL để ghi kết quả đầu ra:DECLARE n NUMBER:=100; vcol DBMS_OUTPUT.chararr; BEGIN DBMS_OUTPUT.enable (100000); --- làm gì đó ở đây DBMS_OUTPUT.put_line ('dòng đầu tiên'); --- làm gì đó ở đây DBMS_OUTPUT.put_line ('dòng thứ hai'); --- làm gì đó ở đây DBMS_OUTPUT.put_line ('dòng thứ ba'); --- lấy đầu ra vào mảng vcol DBMS_OUTPUT.get_lines (vcol, n); FOR i IN 1 .. n LOOP INSERT INTO outputlog (char_col, procname, log_date) VALUES (vcol (i), 'nặc danh', SYSDATE); KẾT THÚC ĐĂNG NHẬP; COMMIT; END; Lưu ý rằng tôi giả định giá trị của biến 100 đến n và số dòng đầu ra chỉ có 3 vì vậy nó sẽ lặp lại và ghi chỉ 3 lần vì nó chỉ có 3 hàng ở đầu ra, nhưng nếu bộ đệm đầu ra có hàng nhiều hơn 100 so với nó sẽ chỉ ghi lại 100 hàng, vì vậy hãy điều chỉnh giá trị biến này cho phù hợp.
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn nhiều bản ghi trong oracle

  2. Cách định dạng số trong ký hiệu khoa học trong Oracle

  3. chuyển vào tên bảng dưới dạng tham số plsql

  4. Cách bật tiện ích mở rộng cho oci8 (Oracle) trong php.ini - Cảnh báo PHP:Khởi động PHP:ở dòng 0

  5. Đặt kích thước tìm nạp hàng của Oracle cao hơn khiến ứng dụng của tôi chậm hơn?