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.13. PLVgen: PL/SQL Code Generator

The PLVgen (PL/Vision GENerator) package provides a set of procedure you can use to generate your own PL/SQL code. See Chapter 16 for details.

5.13.1. Package constants

c_indent CONSTANT INTEGER := 0;

The default initial indentation of generated code.

c_incr_indent CONSTANT INTEGER := 3;

The default incremental indentation of generated code.

c_literal CONSTANT CHAR(1) := '=';

The character used to indicate that the default value for the string function is not to be evaluated before placing in the function definition.

c_def_length CONSTANT INTEGER := 100;

The default length for a string function's local variable.

c_none CONSTANT VARCHAR2(1) := 'N';

Indicates that no blank lines are to be placed before or after the current line of code.

c_before CONSTANT VARCHAR2(1) := 'B';

Indicates that a blank line is to be placed before the current line of code.

c_after CONSTANT VARCHAR2(1) := 'A';

Indicates that a blank line is to be placed after the current line of code.

c_both CONSTANT VARCHAR2(2) := 'BA';

Indicates that a blank line is to be placed both before and after the current line of code.

5.13.2. Setting the indentation

PROCEDURE set_indent
   (indent_in IN NUMBER,
    incr_indent_in IN NUMBER := c_incr_indent);

Sets the initial and incremental indentation.

FUNCTION indent RETURN NUMBER;

Returns the current value for initial indentation.

FUNCTION incr_indent RETURN NUMBER;

Returns the current value for incremental indentation.

5.13.3. ...

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