PL / SQL - Đầu ra DBMS

Trong chương này, chúng ta sẽ thảo luận về Đầu ra DBMS trong PL / SQL. CácDBMS_OUTPUTlà một gói tích hợp cho phép bạn hiển thị thông tin đầu ra, gỡ lỗi và gửi thông báo từ các khối PL / SQL, chương trình con, gói và trình kích hoạt. Chúng tôi đã sử dụng gói này trong suốt hướng dẫn của chúng tôi.

Chúng ta hãy xem một đoạn mã nhỏ sẽ hiển thị tất cả các bảng người dùng trong cơ sở dữ liệu. Hãy thử nó trong cơ sở dữ liệu của bạn để liệt kê tất cả các tên bảng -

BEGIN 
   dbms_output.put_line  (user || ' Tables in the database:'); 
   FOR t IN (SELECT table_name FROM user_tables) 
   LOOP 
      dbms_output.put_line(t.table_name); 
   END LOOP; 
END; 
/

Chương trình con DBMS_OUTPUT

Gói DBMS_OUTPUT có các chương trình con sau:

S.Không Chương trình con & Mục đích
1

DBMS_OUTPUT.DISABLE;

Tắt đầu ra tin nhắn.

2

DBMS_OUTPUT.ENABLE(buffer_size IN INTEGER DEFAULT 20000);

Cho phép xuất tin nhắn. Giá trị NULL củabuffer_size đại diện cho kích thước bộ đệm không giới hạn.

3

DBMS_OUTPUT.GET_LINE (line OUT VARCHAR2, status OUT INTEGER);

Truy xuất một dòng thông tin được lưu vào bộ đệm.

4

DBMS_OUTPUT.GET_LINES (lines OUT CHARARR, numlines IN OUT INTEGER);

Lấy một mảng dòng từ bộ đệm.

5

DBMS_OUTPUT.NEW_LINE;

Đặt một điểm đánh dấu cuối dòng.

6

DBMS_OUTPUT.PUT(item IN VARCHAR2);

Đặt một phần dòng trong bộ đệm.

7

DBMS_OUTPUT.PUT_LINE(item IN VARCHAR2);

Đặt một dòng trong bộ đệm.

Thí dụ

DECLARE 
   lines dbms_output.chararr; 
   num_lines number; 
BEGIN 
   -- enable the buffer with default size 20000 
   dbms_output.enable; 
   
   dbms_output.put_line('Hello Reader!'); 
   dbms_output.put_line('Hope you have enjoyed the tutorials!'); 
   dbms_output.put_line('Have a great time exploring pl/sql!'); 
  
   num_lines := 3; 
  
   dbms_output.get_lines(lines, num_lines); 
  
   FOR i IN 1..num_lines LOOP 
      dbms_output.put_line(lines(i)); 
   END LOOP; 
END; 
/

Khi mã trên được thực thi tại dấu nhắc SQL, nó tạo ra kết quả sau:

Hello Reader! 
Hope you have enjoyed the tutorials! 
Have a great time exploring pl/sql!  

PL/SQL procedure successfully completed.