⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plgte.spb

📁 Oracle PL/SQL procedure generator (second generator type)
💻 SPB
📖 第 1 页 / 共 5 页
字号:
CREATE OR REPLACE PACKAGE BODY PLGte
IS

/* Table Encapsulator Front End for PL/Generator */

/*----------------------------------------------------------------
||                  PL/Generator from Quest Software
||----------------------------------------------------------------
||    File: PLGte.spb
||  Author: Steven Feuerstein
||
|| PL/Generator Table Encapsulator
||
|| This is a part of the PL/Generator Code library.
|| Copyright (C) 1998-1999 Quest Software, Inc.
|| All rights reserved.
||
|| For more information, call Quest Software at 1-800-REVEAL4
|| or check out our Web page: www.Quest Software.com
||
------------------ Modification History --------------------------
|| Date     By     Description
||	-------- ------ -----------------------------------------------
|| 10/98    SEF    Add outcol
|| 3/98     SEF    Shift prep and cust files into OIR
|| 1/98     SEF    Created
-----------------------------------------------------------------*/
   c_pkg CONSTANT CHAR(5) := 'plgte';

   PROCEDURE fortable (
      tab IN VARCHAR2,
      sch IN VARCHAR2 := NULL,
      target_schema IN VARCHAR2 := NULL,
      compile IN BOOLEAN := FALSE,
      regonly IN BOOLEAN := FALSE,
      metaonly IN BOOLEAN := FALSE
   )
   IS
   BEGIN
      PLGgen.fortab (
         PLGte.driver,
         tab,
         sch,
         target_schema,
         compile,
         regonly,
         metaonly
      );
   END;

   PROCEDURE compile (tab IN VARCHAR2)
   IS
		v_table PLGadmin.identifier := UPPER (tab);
		v_pkg PLGadmin.identifier;
		v_file VARCHAR2(200);

	   PROCEDURE compfile (ext IN VARCHAR2) IS
	   BEGIN
	      v_file := v_pkg || '.' || PLGdoir.alias (driver, v_table, ext);
	      DBMS_OUTPUT.PUT_LINE ('Compiling code found in ' || v_file);
	      PLGadmin.compile_from_file (v_file, show_err_in => TRUE);
	   END;
	BEGIN
      DBMS_OUTPUT.PUT_LINE ('This feature has been disabled.');
      /*
		v_pkg := PLGdoir.alias (driver, v_table, 'package');
      PLGgen.set_object_info (v_table, USER);
      PLGgen.analyze_db_object (PLGdoir.c_table_dbsrc, v_table, USER);
      PLGgen.subst_string (driver, v_pkg);

	   compfile ('pkgspecext');
	   compfile ('pkgbodyext');
	   compfile ('testspecext');
	   compfile ('testbodyext');

	   IF PLGdoir.usesaprogs (driver, v_table)
	   THEN
	      compfile ('saext');
	   END IF;
      */
	END;

   PROCEDURE setfiles
   IS
   BEGIN
      /* 3/98 Move preparation file inside the OIR, keep it separate
              from the various files used (and changeable) with the driver.
              SEE NEW CALL BELOW.
      PLGdoir.defdrvsrc (driver, 1, 'teprep.gdr',
         'Pre-code generation preparation',
         ftype => PLGdoir.c_ft_prep,
         use_file => TRUE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);
      */

--------------------START OF PRODUCTION driver SET-------------------------

      /* Prep file */
      PLGdoir.defprepsrc (
         driver,
         'teprep.gdr',
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      /* Header file */
      PLGdoir.defhdrsrc (
         driver,
         'tehdr.gdr',
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      /* Specification and Body */
      PLGdoir.defdrvsrc (driver, 1, 'tespec.gdr',
         'Package specification for table',
         ftype => PLGdoir.c_ft_code,
         use_file => TRUE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      PLGdoir.defdrvsrc (driver, 2, 'tebody.gdr',
         'Package body for table',
         ftype => PLGdoir.c_ft_code,
         use_file => TRUE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      IF NOT PLGgen.is_express_version
      THEN
	         /* Documentation */
	      PLGdoir.defdrvsrc (driver, 3, 'tedoc.gdr',
	         'Documentation of standard package specification',
	         ftype => PLGdoir.c_ft_html,
	         use_file => TRUE,
	         tab => PLGdoir.c_global,
	         sch => PLGdoir.c_global);

	         /* Test Scripts */
	      PLGdoir.defdrvsrc (driver, 4, 'testest.gdr',
	         'Test and data loading package spec for standard package',
	         ftype => PLGdoir.c_ft_test,
	         use_file => TRUE,
	         tab => PLGdoir.c_global,
	         sch => PLGdoir.c_global);

	      PLGdoir.defdrvsrc (driver, 5, 'tebtest.gdr',
	         'Test and data loading package body for standard package',
	         ftype => PLGdoir.c_ft_test,
	         use_file => TRUE,
	         tab => PLGdoir.c_global,
	         sch => PLGdoir.c_global);

	      PLGdoir.defdrvsrc (driver, 6, 'tesa.gdr',
	         'Stand-alone procedures and functions for table',
	         ftype => PLGdoir.c_ft_code,
	         use_file => TRUE,
	         tab => PLGdoir.c_global,
	         sch => PLGdoir.c_global);

	      PLGdoir.defdrvsrc (driver, 7, 'tecomp.gdr',
	         'Compile script',
	         ftype => PLGdoir.c_mft_script,
	         use_file => FALSE,
	         tab => PLGdoir.c_global,
	         sch => PLGdoir.c_global);

	      PLGdoir.defdrvsrc (driver, 8, 'tetoc.gdr',
	         'Documentation of "table of contents" for various objects',
	         ftype => PLGdoir.c_mft_html,
	         use_file => FALSE,
	         tab => PLGdoir.c_global,
	         sch => PLGdoir.c_global);
		END IF;
      
--------------------END OF PRODUCTION driver SET-------------------------

      /* COMMENTED OUT Stub-related drivers

         -- Stub Generation
      PLGdoir.defdrvsrc (driver, 3, 'testub.gdr',
         'Stand-alone and function stubs',
         ftype => PLGdoir.c_ft_code,
         use_file => FALSE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      PLGdoir.defdrvsrc (driver, 4, 'testubrc.gdr',
         'Stand-alone program stubs with return codes',
         ftype => PLGdoir.c_ft_code,
         use_file => FALSE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      PLGdoir.defdrvsrc (driver, 6, 'testubd.gdr',
         'Documentation of program stubs',
         ftype => PLGdoir.c_ft_html,
         use_file => FALSE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      PLGdoir.defdrvsrc (driver, 7, 'testubrcd.gdr',
         'Documentation of program stubs with return codes',
         ftype => PLGdoir.c_ft_html,
         use_file => FALSE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      PLGdoir.defdrvsrc (driver, 11, 'tetestst.gdr',
         'Test and data loading scripts for stubs',
         ftype => PLGdoir.c_ft_test,
         use_file => FALSE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      PLGdoir.defdrvsrc (driver, 12, 'teteststrc.gdr',
         'Test and data loading scripts for stubs w/return codes',
         ftype => PLGdoir.c_ft_test,
         use_file => FALSE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);
      */

      /* COMMENTED OUT

         -- Specification and Body of Query Package
      PLGdoir.defdrvsrc (driver, 13, 'terspec.gdr',
         'Read-only package specification',
         ftype => PLGdoir.c_ft_code,
         use_file => FALSE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

      PLGdoir.defdrvsrc (driver, 14, 'terbody.gdr',
         'Read-only package body',
         ftype => PLGdoir.c_ft_code,
         use_file => FALSE,
         tab => PLGdoir.c_global,
         sch => PLGdoir.c_global);

         -- Specification and Body of Modify Package

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -