Chapter 23. DBMS_OUTPUT Built-in Package
Beginner
Q: | |
23-1. | Believe it or not, early developers inserted rows of data into a database table and then used SQL to examine what had happened. Talk about crude mechanisms! |
Q: | |
23-2. | You can store up to 1 million bytes (not quite the same as 1 MB) in the buffer. You can put strings, dates, and numbers into the buffer. |
Q: | |
23-3. | Use the DBMS_OUTPUT.PUT_LINE procedure: CREATE OR REPLACE PROCEDURE hello_world
IS
BEGIN
DBMS_OUTPUT.PUT_LINE ('hello world!');
END;
/ |
Q: | |
23-4. | Call the ENABLE procedure, which also accepts as its single argument the maximum size of the buffer. In the following block, the size is set to the maximum possible: BEGIN DBMS_OUTPUT.ENABLE (1000000); END; / |
Q: | |
23-5. | You can call DBMS_OUTPUT.ENABLE, but that won’t be enough. You must use the following command: SET SERVEROUTPUT ON It calls DBMS_OUTPUT.ENABLE, but also tells SQL*Plus to automatically flush the contents of the DBMS_OUTPUT buffer to your screen when the block finishes executing. |
Q: | |
23-6. | What you are really doing here is disabling the package, so why not call: BEGIN DBMS_OUTPUT.DISABLE; END; |
Q: | |
23-7. | Just 2000 bytes. In other words, the following steps in SQL*Plus results in an error: SQL> CONNECT scott/tiger Connected. SQL> SET SERVEROUTPUT ON SQL> BEGIN 2 FOR linenum IN 1 .. 25 3 LOOP 4 DBMS_OUTPUT.PUT_LINE ( 5 RPAD ('rich people ', 100, 'cause poverty ')); 6 END LOOP; 7 END; 8 / rich people cause poverty cause poverty cause poverty... ... rich people cause poverty cause poverty cause ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access