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

5.15. PLVio: Input/Output Processing

The PLVio (PL/Vision Input/Output) package consolidates all of the logic required to read from and write to repositories for PL/SQL source code. See Chapter 12 for details.

5.15.1. Package constants and exceptions

c_name PLV.plsql_identifier%TYPE := 'name';
c_type PLV.plsql_identifier%TYPE := 'type';
c_text PLV.plsql_identifier%TYPE := 'text';
c_line PLV.plsql_identifier%TYPE := 'line';
c_schema PLV.plsql_identifier%TYPE := 'owner';

The default names for the columns of the database table repository. You can override these names in calls to setsrc and settrg.

c_notset CONSTANT VARCHAR2(1) := 'U';

The value used by PLVio to detect when a repository (source or target) have not yet been set.

insert_failure EXCEPTION;

Exception raised when PLVio is unable to insert or put a line to the target repository.

5.15.2. Package records

TYPE line_type IS RECORD
   (text VARCHAR2(2000) := NULL,
    len INTEGER := NULL,
    pos INTEGER := 1,
    line INTEGER := 0, /* line # in original */
    line# INTEGER := 0,	/* line # for new */
    is_blank BOOLEAN := FALSE,
    eof BOOLEAN := FALSE,
    indent INTEGER := 0,
    unindent BOOLEAN := FALSE,
    continuation BOOLEAN := FALSE,
    blank_line_before BOOLEAN := FALSE);

The line_type record TYPE defines the structure for a line datatype in PLVio.

empty_line line_type;

Predefined empty line that can be used to initialize a line's fields.

5.15.3. Source and target repository type functions

FUNCTION file_source RETURN BOOLEAN; FUNCTION pstab_source ...

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