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 ... |
Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.