O'Reilly logo

Advanced Oracle PL/SQL Programming with Packages by Steven Feuerstein

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

15.3. Displaying Source Code

PLVvu provides two procedures to display source code: the code and code_after programs. The code program displays all the lines of code for the specified program unit found between the start and end lines specified. The code_after program displays the specified number of lines found after the n th occurrence of a particular string. They are both explained below.

15.3.1. Displaying Code by Line Number

The header for the code program is:

PROCEDURE code
   (name_in IN VARCHAR2 := NULL, 
    start_in IN INTEGER := 1,
    end_in IN INTEGER := NULL,
    header_in IN VARCHAR2 := 'Code for');

The first argument is the name of the program unit. If you do not supply a program, PLVvu.code will use the object last compiled into the database.

The format for specifying a program unit is explained in Chapter 11. Briefly, you can supply only the name, the type:name (as in "b:PLVio" for the body of the PLVio package), or even the type:schema.name (as in "s:scott.showemps" to see the specification of the showemps package owned by SCOTT).

The second and third arguments provide the range of line numbers of the code to be displayed. The default is all lines, with the start value of 1 and the end value NULL. The final argument provides a prefix for the output's header.

If you want to see all the lines of source code for a program unit, simply pass the program name and leave all the other arguments as the default. This approach is shown below:

SQL> exec PLVvu.code('s:testcase'); -------------------------------------------------------------------- ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required