📄 plgte.spb
字号:
'Stand-alone programs file');
PLGdoir.set_global_alias (driver, 'compscript', '{'||PLGdoir.plgalias||'package}comp.{'||PLGdoir.plgalias||'sqlext}',
'Compile script file');
PLGdoir.set_global_alias (driver, 'tocdoc', '{'||PLGdoir.plgalias||'package}toc.{'||PLGdoir.plgalias||'htmlext}',
'Table of contents doc file');
/* Shorthand */
PLGdoir.set_global_alias (driver, 'pkycoltype', '[objname].{[pkycolname]}%TYPE',
'Primary key %TYPE declaration');
PLGdoir.set_global_alias (driver, 'coltype', '[objname].[colname]%TYPE',
'Column %TYPE declaration');
PLGdoir.set_global_alias (driver, 'tableRT', '[objname]%ROWTYPE',
'Table %ROWTYPE declaration');
/* Code elements
PLGdoir.set_global_alias (driver, 'cmntstart', '--//');
PLGdoir.set_global_alias (driver, 'cmntend', '//--');
*/
/* Standard prefixes and suffixes */
PLGdoir.set_wrap_alias (driver, 'app', NULL, NULL, 'Application signifier');
PLGdoir.set_wrap_alias (driver, 'pkg', 'te_', NULL, 'Package name');
PLGdoir.set_wrap_alias (driver, 'test', NULL, '_tst', 'Test package');
PLGdoir.set_wrap_alias (driver, 'func', NULL, NULL, 'Function');
PLGdoir.set_wrap_alias (driver, 'cvfunc', NULL, '$cv', 'Cursor variable type function');
PLGdoir.set_wrap_alias (driver, 'proc', NULL, NULL, 'Procedure');
PLGdoir.set_wrap_alias (driver, 'sa', '{[objname]}$', NULL, 'Stand-alone Program');
PLGdoir.set_wrap_alias (driver, 'in', NULL, '_in', 'IN parameter');
PLGdoir.set_wrap_alias (driver, 'fld', NULL, NULL, 'Field of record');
PLGdoir.set_wrap_alias (driver, 'inout', NULL, '_inout', 'IN OUT parameter');
PLGdoir.set_wrap_alias (driver, 'out', NULL, '_out', 'OUT parameter');
PLGdoir.set_wrap_alias (driver, 'rt', NULL, '_rt', 'Record type');
PLGdoir.set_wrap_alias (driver, 'cvt', NULL, '_cvt', 'Cursor variable type');
PLGdoir.set_wrap_alias (driver, 'cur', NULL, '_cur', 'Cursor');
PLGdoir.set_wrap_alias (driver, 'frc', NULL, '$frc', 'Force function');
PLGdoir.set_wrap_alias (driver, 'updcol', 'upd$', NULL, 'Column update procedure');
PLGdoir.set_wrap_alias (driver, 'chk', NULL, '$chk', 'Check constraint function');
PLGdoir.set_wrap_alias (driver, 'getpky', NULL, '$pky', 'Returns primary key');
PLGdoir.set_wrap_alias (driver, 'getval', NULL, '$val',
'Returns values(s) for primary key');
PLGdoir.set_wrap_alias (driver, 'getrow', NULL, '$row',
'Returns row record');
PLGdoir.set_wrap_alias (driver, 'getpkycv', NULL, '$pcv',
'Returns cursor variable to primary key');
PLGdoir.set_wrap_alias (driver, 'getvalcv', NULL, '$vcv',
'Returns cursor variable to values(s) for primary key');
PLGdoir.set_wrap_alias (driver, 'getrowcv', NULL, '$rcv',
'Returns cursor variable to row of data');
PLGdoir.set_wrap_alias (driver, 'stub', NULL, NULL,
'Stand-alone stub around packaged program');
/* Standard approaches to Exception Handling */
PLGdoir.set_global_alias (driver,
PLGdoir.c_plvraise,
'{'||PLGdoir.plgalias||'PLVexc}.{'||PLGdoir.plgalias||
'raise} ([errnum], [errmsg]);', -- 99.2.8 Remove alias brackets
'PL/Vision raise mechanism');
PLGdoir.set_global_alias (driver,
PLGdoir.c_plvhandle,
'{'||PLGdoir.plgalias||'PLVexc}.{'||PLGdoir.plgalias||'recNstop};',
'PL/Vision handle mechanism');
PLGdoir.set_global_alias (driver, PLGdoir.c_psraise,
'RAISE_APPLICATION_ERROR ([errnum], [errmsg]);', -- 99.2.8 Remove alias brackets
'PL/SQL raise mechanism');
PLGdoir.set_global_alias (driver, PLGdoir.c_pshandle,
'RAISE;',
'PL/SQL handle mechanism');
PLGdoir.set_global_alias (driver, PLGdoir.c_rcraise,
'{'||PLGdoir.plgalias||'errnum} := SQLCODE; {'||PLGdoir.plgalias||
'errmsg} := SQLERRM;',
'Return code raise mechanism');
PLGdoir.set_global_alias (driver, PLGdoir.c_rchandle,
'{'||PLGdoir.plgalias||'errnum} := [failureval]; {'||PLGdoir.plgalias||
'errmsg} := [failuremsg];',
'Return code handle mechanism');
PLGdoir.set_global_alias (driver, PLGdoir.c_successval, 'SQLCODE', 'Success value');
PLGdoir.set_global_alias (driver, PLGdoir.c_failureval, 'SQLCODE', 'Failure value');
PLGdoir.set_global_alias (driver, PLGdoir.c_failuremsg, 'SQLERRM', 'Failure message');
/* Test Elements */
PLGdoir.set_global_alias (driver, 'displaymech', 'DBMS_OUTPUT.PUT_LINE',
'Display mechanism');
PLGdoir.set_global_alias (driver, 'maxtestrows', '5',
'Row count limit in test scripts');
END;
PROCEDURE initialize
IS
BEGIN
/* Set flag to make sure all inserts are "foundations" for the driver. */
PLGdoir.drvfoundation;
/* Clean out all global entries related to this driver */
PLGdoir.delfoundation (driver);
/* Use cleaner approach
PLGdoir.del (
drv => driver,
tab => '%',
otype => '%',
itype => '%',
seq => NULL,
sch => PLGdoir.c_global,
foundation_only => TRUE,
del_header => TRUE,
del_dirinfo => FALSE
);
*/
PLGdoir.defdrv (driver, PLGdoir.c_table_dbsrc, 'Table Encapsulator');
setfiles;
setidentifiers;
setaliases;
setsrc;
setlookups;
/* Use Standard Header */
PLGdoir.usestdhdr (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
/* Default exception handling: PL/SQL */
PLGdoir.setpsexc (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
/* Do NOT use PLVxmn for tracing */
PLGdoir.nousexmn (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
/* Include validation code for data integrity */
PLGdoir.usecheckDI (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
/* Do NOT use cursor variables by default */
PLGdoir.nosetcurvar (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
/* Use static SQL by default */
PLGdoir.setstaticSQL (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
/* Do NOT create stand-alone programs by default */
PLGdoir.nosetsaprogs (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
/* Do NOT create primary key update procedures by default */
PLGdoir.nosetupdpky (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
IF PLGgen.is_express_version
THEN
/* Do NOT create row count functions by default */
PLGdoir.nosetcountrows (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
ELSE
/* Create row count functions by default */
PLGdoir.setcountrows (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
END IF;
/* Make sure that incremental loading is disabled globally. */
PLGdoir.setloadnone (
drv => driver,
tab => PLGdoir.c_global,
sch => PLGdoir.c_global);
/* Minimum set of cursors. */
PLGdoir.setcurinfo (
driver,
PLGdoir.c_global,
'all',
'*',
PLGdoir.c_global
);
/* PL/SQL comment characters */
PLGdoir.setcomment (
drv => driver,
tab => PLGdoir.c_global,
cmnt => '--',
sch => PLGdoir.c_global);
PLGdoir.nodrvfoundation;
END;
PROCEDURE session_init (override_str IN VARCHAR2 := NULL)
IS
BEGIN
NULL;
/* Assume that these can change at any time. No caching.
PLGgen.aliascache_define (
NVL (override_str,
'package,schpackage,tstpackage,tablecv,' ||
'inrec,oldinrec,inoutrec,pkyrt,pkycv,outrc,closeallproc,loadproc,' ||
'showloadproc,inoutstart,inoutend,isnullfunc,onerowfunc,tabcountfunc,' ||
'pkycountfunc,saonerowfunc,onerowcvfunc,valproc,resetfrcproc,initrecfunc,' ||
'initrecproc,nextpkyfunc,insproc,updproc,updpkyproc,delproc,' ||
'sainsproc,saupdproc,sadelproc,lookupfkydescproc'
));
*/
END;
END PLGte;
/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -