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

📄 plgte.spb

📁 Oracle PL/SQL procedure generator (second generator type)
💻 SPB
📖 第 1 页 / 共 5 页
字号:
         override => 'pkytabpkgname');

      /* Atomic naming units, such as "upd" */

      PLGdoir.set_ident (driver, 'lookup_fkydescs', 'lookup_fkydescs',
         'Returns descriptor index records for each foreign key');
      PLGdoir.set_ident (driver, 'validate', 'validate',
         'Validation procedure core name');
      PLGdoir.set_ident (driver, 'load_to_memory', 'load_to_memory',
         'Loads rows to cache');
      PLGdoir.set_ident (driver, 'showload', 'showload',
         'Shows cached rows');
      PLGdoir.set_ident (driver, 'isnullpky', 'isnullpky',
         'Returns TRUE if element of primary key is NULL');
      PLGdoir.set_ident (driver, 'nextpky', 'nextpky',
         'Returns next primary key value');

      PLGdoir.set_ident (driver, 'onerow', 'onerow',
         'One row for primary key function');

      PLGdoir.set_ident (driver, 'initrec', 'initrec',
         'Initialize table record procedure');
      PLGdoir.set_ident (driver, 'ins', 'ins', 'Insert Encapsulator core name');
      PLGdoir.set_ident (driver, 'ins_on_dup', 'ins_on_dup',
         'Action on duplicate argument name');

      PLGdoir.set_ident (driver, 'del', 'del', 'Delete encapsulator core name');

      PLGdoir.set_ident (driver, 'reset', 'reset',
         'Procedure/parameter resetting force flags');

      PLGdoir.set_ident (driver, 'inreset', '{'||PLGdoir.plgalias||'inpre}{'||PLGdoir.plgalias||'reset}{'||PLGdoir.plgalias||'insuf}',
         'IN parameter resetting force flags');

      PLGdoir.set_ident (driver, 'upd', 'upd', 'Update encapsulator core name');

      PLGdoir.set_ident (driver, 'rowcount', 'rowcount',
         'Count of rows function');
      PLGdoir.set_ident (driver, 'rec', 'rec', 'Record parameter core name');
      PLGdoir.set_ident (driver, 'valuesOK', 'valuesOK',
         'Result of validation argument');
      PLGdoir.set_ident
         (driver, 'errnum', 'errnum', 'Error number argument');
      PLGdoir.set_ident
         (driver, 'errmsg', 'errmsg', 'Error message argument');

      PLGdoir.set_ident
         (driver, 'divider', '_', 'Identifier name divider');

      /* Define the tagged elements in the cgml for the driver */
      PLGdoir.set_tag (driver, 'objname', 'MYOBJ', 'Name of object');
      PLGdoir.set_tag (driver, 'pkgname', 'MYPKG', 'Name of package');
      PLGdoir.set_tag (driver, 'colname', 'MYCOL', 'Name of column');
      PLGdoir.set_tag (driver, 'pkycolname', 'MYPKYCOL',
         'Name of single primary key column');
      PLGdoir.set_tag (driver, 'fkyname', 'MYFKY', 'Name of foreign key');
      PLGdoir.set_tag (driver, 'indname', 'MYIND', 'Name of index');
      PLGdoir.set_tag (driver, 'curname', 'MYCUR', 'Name of cursor');
      PLGdoir.set_tag (driver, 'constraint_name', 'MYCHK', 'Name of constraint');
      PLGdoir.set_tag (driver, 'coldmlval', 'MYDFLT',
         'Default value for column in DML actions');
      PLGdoir.set_tag
         (driver, 'pkytabpkgname', 'MYPKYPKG',
          'Foreign key''s table encapsulation package');

   END;

   PROCEDURE setsrc
   IS
   BEGIN
      PLGdoir.setdynvarchar2 (PLGdoir.c_global, 'SFU',
         doc=>'Select For Update');

      PLGdoir.setsrc (driver, 'PROGNAME', PLGdoir.c_driver_wide,
         doc=>'Name of program');
      PLGdoir.setsrc (driver, 'PROGPART', PLGdoir.c_driver_wide,
         doc=>'Name of program part');
      PLGdoir.setsrc (driver, 'PKYNAME', PLGdoir.c_driver_wide,
         doc=>'Name of primary key');
      PLGdoir.setsrc (driver, 'PKYCOLNAME', PLGdoir.c_driver_wide,
         doc=>'Name of primary key column (if only one column)');
      PLGdoir.setsrc (driver, 'ERRNUM', PLGdoir.c_driver_wide,
         doc=>'Error number');
      PLGdoir.setsrc (driver, 'ERRMSG', PLGdoir.c_driver_wide,
         doc=>'Error message');
      PLGdoir.setsrc (driver, 'INTERNAL_INS', PLGdoir.c_driver_wide,
         doc=>'Name of hidden insert procedure');
      PLGdoir.setsrc (driver, 'DESCINDEX', PLGdoir.c_driver_wide,
         doc=>'Name of index containing descriptive columns');

      /* Column-specific values */

      PLGdoir.setsrc (driver, 'COLNAME', PLGdoir.c_column_specific,
         doc=>'Name of column');
      PLGdoir.setsrc (driver, 'JCOLNAME', PLGdoir.c_column_specific,
         doc=>'Name of column formatted for Java use');
      PLGdoir.setsrc (driver, 'JICOLNAME', PLGdoir.c_column_specific,
         doc=>'Name of column formatted for "internal" Java use');
      PLGdoir.setsrc (driver, 'COLDATATYPE', PLGdoir.c_column_specific,
         doc=>'Data type of column');
      PLGdoir.setsrc (driver, 'COLDATALENGTH', PLGdoir.c_column_specific,
         doc=>'Data length of column');
      PLGdoir.setsrc (driver, 'COLNULLABLE', PLGdoir.c_column_specific,
         doc=>'Is the column nullable?');
      PLGdoir.setsrc (driver, 'COLDMLVAL', PLGdoir.c_column_specific,
         doc=>'DML value for column (default value if NOT NULL)');
      PLGdoir.setsrc (driver, 'DEFCOLVAL', PLGdoir.c_column_specific,
         doc=>'Default value for column');
      PLGdoir.setsrc (driver, 'PARMCOLDEF', PLGdoir.c_column_specific,
         doc=>'Default value for column as parameter');

      /* No longer used?
      PLGdoir.setsrc (driver, 'PARMCOLNAME', PLGdoir.c_column_specific,
         doc=>');
      PLGdoir.setsrc (driver, 'COLHASDEF', PLGdoir.c_column_specific,
         doc=>'Does column have default value?');
      PLGdoir.setsrc (driver, 'COLRECDMLVAL', PLGdoir.c_column_specific,
         doc=>');
      PLGdoir.setsrc (driver, 'DESCCOL', PLGdoir.c_column_specific,
         doc=>'Array of );
      */

   /* Dynamic PL/SQL-based processing, reading directly from OIR. In other
      words, the literals you see here are function names and they take as
      their arguments TAB, SCH. */

      PLGdoir.setdynboolean (driver, 'QUERYONLY',
         doc=>'TRUE if requesting a query only package');
      PLGdoir.setdynboolean (driver, 'CHECKDI',
         doc=>'TRUE if including programs to check for data integrity');
      PLGdoir.setdynboolean (driver, 'USINGXMN',
         doc=>'TRUE if using PLVxmn to trace actions');
      PLGdoir.setdynboolean (driver, 'LOADANY',
         doc=>'TRUE if loading incrementally or all rows');
      PLGdoir.setdynboolean (driver, 'LOADALL',
         doc=>'TRUE if loading all rows into the cache');
      PLGdoir.setdynboolean (driver, 'LOADINCR',
         doc=>'True if loading incrementally into the cache');
      PLGdoir.setdynboolean (driver, 'LOADNONE',
         doc=>'TRUE if not caching any table data');

      PLGdoir.setdynvarchar2 (driver, 'FAILUREVAL',
         doc=>'Value returned when an error occurs');
      PLGdoir.setdynvarchar2 (driver, 'SUCCESSVAL',
         doc=>'Value returned when program completes successfully');
      PLGdoir.setdynvarchar2 (driver, 'FAILUREMSG',
         doc=>'Message returned when an error occurs');
      PLGdoir.setdynboolean (driver, 'SETTING_CONTEXT',
         doc=>'TRUE if setting context');

      PLGdoir.setdynboolean (driver, 'PLVEXC',
         doc=>'TRUE if PL/Vision exception handling is being used');
      PLGdoir.setdynboolean (driver, 'PSEXC',
         doc=>'TRUE if standard PL/SQL exception handling is being used');
      PLGdoir.setdynboolean (driver, 'RETCD',
         doc=>'TRUE if return code exception handling is being used');

      PLGdoir.setdynvarchar2 (driver, 'SEQNAME',
         doc=>'Name of sequence used to generate primary key (if any)');
      PLGdoir.setdynboolean (driver, 'GENPKY',
         doc=>'TRUE if primary key is to be generated');
      PLGdoir.setdynboolean (driver, 'GENPKYONLY',
         doc=>'TRUE if user cannot supply primary key');
      PLGdoir.setdynvarchar2 (driver, 'PKYPROC',
         doc=>'Name of procedure used to generate primary key (if any)');
      PLGdoir.setdynvarchar2 (driver, 'PKYFUNC',
         doc=>'Name of function used to generate primary key (if any)');

      PLGdoir.setdynboolean (driver, 'HAVEHIDDEN',
         doc=>'TRUE if at least one column has been hidden');

      PLGdoir.settestseq (driver, PLGdoir.c_global, 'plggen_seq', PLGdoir.c_global,
         doc=>'Name of sequence used to generate test information');

      PLGdoir.setdynnumber (driver, 'NEXTVAL',
         doc=>'INTERNAL USE ONLY');

      PLGdoir.setdynboolean (driver, 'USECOUNTROWS',
         doc=>'TRUE if generating COUNT functions');
      PLGdoir.setdynboolean (driver, 'USECURVAR',
         doc=>'TRUE if cursor variables are used in API');
      PLGdoir.setdynboolean (driver, 'USERESTRICTREF',
         doc=>'TRUE if PRAGMA RESTRICT_REFERENCE statements are included');
      PLGdoir.setdynboolean (driver, 'USESAPROGS',
         doc=>'TRUE if generating stand-alone programs');
      PLGdoir.setdynboolean (driver, 'UPDPKY',
         doc=>'TRUE if you want to be allowed to update primary key');

      /* 2000.2.5 */
      PLGdoir.setdynboolean (driver, 'USESTATICSQL',
         doc=>'TRUE if using static SQL in encapsulation');
      
      PLGdoir.setdynvarchar2 (driver, 'GENDIR',
         doc=>'Name of directory to which text will be generated');
      PLGdoir.setdynvarchar2 (driver, 'GENDELIM',
         doc=>'Directory separator character for operating system');

      /* Define elements for the arrays */

      PLGdoir.set_array (driver, c_gencol, 
         doc=>'Array of all columns, data post-processed for PL/Generator');
      plgdoir.set_array_tag (driver, c_gencol, 'colname',doc=>'The name of the column in upper case.');
      plgdoir.set_array_tag (driver, c_gencol, 'jcolname',doc=>'The name of the column in Java-standard format.');
      plgdoir.set_array_tag (driver, c_gencol, 'jicolname',doc=>'The name of the column in Java-standard format for internal use.');
      plgdoir.set_array_tag (driver, c_gencol, 'coldatatype',doc=>'Datatype of column');
      plgdoir.set_array_tag (driver, c_gencol, 'colnullable',doc=>'TRUE if column is nullable');
      plgdoir.set_array_tag (driver, c_gencol, 
         'coldmlval',
         doc=>'Value used in DML statements (different from column value if function is applied to the column)');
      plgdoir.set_array_tag (driver, c_gencol, 'defcolval',doc=>'Default value of column');
      plgdoir.set_array_tag (driver, c_gencol, 'colhasdef',doc=>'TRUE if column has default value');
      plgdoir.set_array_tag (driver, c_gencol, 'parmcoldef',doc=>'Default value used in parameter list for this column');
         
      PLGdoir.set_array (driver, c_col, 
         doc=>'Array of all columns, data directly from the data dictionary');
      plgdoir.set_array_tag (driver, c_col, 'column_name',doc=>'The name of the column in upper case.');
      plgdoir.set_array_tag (driver, c_col, 'colname',doc=>'The name of the column in lower case.');
      plgdoir.set_array_tag (driver, c_col, 'jcolname',doc=>'The name of the column in Java-standard format.');
      plgdoir.set_array_tag (driver, c_col, 'jicolname',doc=>'The name of the column in Java-standard format for internal use.');
      plgdoir.set_array_tag (driver, c_col, 'data_type',doc=>'The name of the datatype of the column, in upper case.');
      plgdoir.set_array_tag (driver, c_col, 'coldatatype',doc=>'The name of the datatype of the column, in lower case.');
      plgdoir.set_array_tag (driver, c_col, 'data_length',doc=>'Length of the column in bytes');
      plgdoir.set_array_tag (driver, c_col, 'default_length',doc=>'Length of default value for the column');
      plgdoir.set_array_tag (driver, c_col, 'data_precision',doc=>'Length of decimal digits (NUMBER) or binary digits (FLOAT)');
      plgdoir.set_array_tag (driver, c_col, 'data_declaration',doc=>'Valid datatype declaration for the column');
      plgdoir.set_array_tag (driver, c_col, 'nullable',doc=>'Y if a nullable column, other N');
      plgdoir.set_array_tag (driver, c_col, 'data_default',doc=>'The default value for the column');
      plgdoir.set_array_tag (driver, c_col, 'comments',doc=>'Column comment');
      plgdoir.set_array_tag (driver, c_col, 'constraint_name',doc=>'Name of the constraint of which this column is a part');
      plgdoir.set_array_tag (driver, c_col, 'constraint_type',doc=>'Type of the constraint of which this column is a part');
      plgdoir.set_array_tag (driver, c_col, 'pky_position',
         doc=>'The position of this column in the table''s primary key');
         
      PLGdoir.set_array (driver, c_pkycol, doc=>'Array of all primary key columns');
      PLGdoir.set_array_tag (driver, c_pkycol, 'constraint_name', doc=>'Name of primary key');
      PLGdoir.set_array_tag (driver, c_pkycol, 'column_name', doc=>'Name of column in primary key');
      PLGdoir.set_array_tag (driver, c_pkycol, 'constraint_type', doc=>'The letter "P" for Primary Key');
      PLGdoir.set_array_tag (driver, c_pkycol, 'position', doc=>'Position of column in primary key');
      PLGdoir.set_array_tag (driver, c_pkycol, 'column_id', doc=>'Column ID from data dictionary view');
      

⌨️ 快捷键说明

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