× PL/SQL - Overview PL/SQL - Basic Syntax PL/SQL - Data Types PL/SQL - Variables PL/SQL - Constants and Literals PL/SQL - Operators PL/SQL - Conditions PL/SQL -ifelse PL/SQL -elsif PL/SQL -nestedif PL/SQL -Case PL/SQL -Searched Case PL/SQL -Basic Loop PL/SQL -For Loop PL/SQL -While Loop PL/SQL - Strings PL/SQL - Arrays PL/SQL - Procedures PL/SQL - Functions PL/SQL - Cursors PL/SQL - Records PL/SQL - Exceptions PL/SQL - Triggers PL/SQL - Packages PL/SQL - Collections PL/SQL - Transactions PL/SQL - Date & Time PL/SQL - DBMS Output PL/SQL - Object Oriented
  • iconPLSQL Online Training In Andhra Pradesh and Telangana
  • icon9010519704

Opening Hours :7AM to 9PM

DBMS_OUTPUT



DBMS_OUTPUT
In this chapter, we will discuss the DBMS Output in PL/SQL. The DBMS_OUTPUT is a built-in package that enables you to display output, debugging information, and send messages from PL/SQL blocks, subprograms, packages, and triggers. We have already used this package throughout our tutorial.
Let us look at a small code snippet that will display all the user tables in the database. Try it in your database to list down all the table names
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; 
/

DBMS_OUTPUT Subprograms
The DBMS_OUTPUT package has the following subprograms
S.NO Subprogram & Purpose
1 DBMS_OUTPUT.DISABLE;
Disables message output.
2 DBMS_OUTPUT.ENABLE(buffer_size IN INTEGER DEFAULT 20000);
Enables message output. A NULL value of buffer_size represents unlimited buffer size.
3 DBMS_OUTPUT.GET_LINE (line OUT VARCHAR2, status OUT INTEGER);
Retrieves a single line of buffered information.
4 DBMS_OUTPUT.GET_LINES (lines OUT CHARARR, numlines IN OUT INTEGER);
Retrieves an array of lines from the buffer.
5 DBMS_OUTPUT.NEW_LINE;
Puts an end-of-line marker.
6 DBMS_OUTPUT.PUT(item IN VARCHAR2);
Places a partial line in the buffer.
7. DBMS_OUTPUT.PUT_LINE(item IN VARCHAR2);
Places a line in the buffer.

Example Program:

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; 
/ 
When the above code is executed at the SQL prompt, it produces the following result −
Hello Reader! 
Hope you have enjoyed the tutorials! 
Have a great time exploring pl/sql!  

PL/SQL procedure successfully completed.
      
      
  

Key Points

  • DBMS_OUTPUT
  • Image