18.1. PLVcase: Converting the Case of PL/SQL Programs

The PLVcase conversion package converts the case of PL/SQL source code according to the UPPER-lower method: all reserved words are converted to upper-case, while all application-specific identifiers are converted to lowercase. The consistency of case in a program—and, in particular, the UPPER-lower standard—aids greatly in the ability of developers to read, understand, and maintain their (and others') code.

Consider the following package body definition:

create or replace package body testcase
is
   procedure save (string_in in varchar2)
   is
      n integer := dbms_sql.open_cursor;
   begin
      update PLV_output set program = string_in;
      if sql%rowcount = 0
      then
         insert into PLV_output values (string_in);
      end if;
      PLVcmt.perform_commit;
   end;
end testcase;
/

This program is consistently indented to reveal the logical flow of the save procedure defined in the testcase package. Yet it is still difficult to read. With all the text in lowercase, the syntax and logic blurs into an indistinguishable stream of characters.

Here is the same package body after being passed through PLVcase:

PACKAGE BODY testcase
IS
   PROCEDURE save (string_in IN VARCHAR2)
   IS
      n INTEGER := DBMS_SQL.OPEN_CURSOR;
   BEGIN
      UPDATE PLV_output SET program = string_in;
      IF SQL%ROWCOUNT = 0
      THEN
         INSERT INTO PLV_output VALUES (string_in);
      END IF;
      PLVcmt.perform_commit;
   END;
END testcase;

PLVcase is a general-purpose engine for case conversion. It relies on many different packages in PL/Vision ...

Get Advanced Oracle PL/SQL Programming with Packages 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.