📄 plgcgml.sps
字号:
CREATE OR REPLACE PACKAGE PLGcgml &authidopen AUTHID CURRENT_USER &authidclose
IS
/*----------------------------------------------------------------
|| PL/Generator from Quest Software
||----------------------------------------------------------------
|| File: PLGgen.sps
|| Author: Steven Feuerstein
||
|| 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
|| -------- ------ -----------------------------------------------
|| 1/4/99 SEF Remove use of colrecdmlval
|| 9/98 SEF Add support for code analysis (analyze_plsql)
|| 06/24/97 SEF Enhance for foreign key name resolution.
|| 04/97 SEF Created
-----------------------------------------------------------------*/
test_driver CONSTANT CHAR(4) := 'TEST';
-- FUNCTION is_cgml_command (str IN VARCHAR2) RETURN BOOLEAN;
/*
Pre-defined arrays for core CGML language:
Come up with some standards: <array> generally has a tag
called <array> and also CODE for numeric code? As in:
TYPE day_rt IS RECORD (
day VARCHAR2(30),
abbrev VARCHAR2(3),
code PLS_INTEGER);
TYPE day_tt IS TABLE OF day_rt INDEX BY BINARY_INTEGER;
day day_tt;
*/
/* Date information: days of week, day numbers, month names, etc. */
TYPE day_rt IS RECORD (
day VARCHAR2(30),
initcap VARCHAR2(30),
abbrev VARCHAR2(3),
number PLS_INTEGER);
TYPE day_tt IS TABLE OF day_rt INDEX BY BINARY_INTEGER;
day day_tt;
TYPE month_rt IS RECORD (
month VARCHAR2(30),
initcap VARCHAR2(30),
abbrev VARCHAR2(3),
number PLS_INTEGER);
TYPE month_tt IS TABLE OF month_rt INDEX BY BINARY_INTEGER;
month month_tt;
/* DBMS_JOB strings for various frequencies */
/* Trigger events and DML events */
/* SQL statement types */
/* Letters of alphabet with ASCII codes */
/* SQL datatypes */
/* PLSQL datatypes */
/* Users in instance */
/* Oracle versions */
/* For generating documentation on array tags */
TYPE array_tag_rt IS RECORD (
tagname PLGadmin.identifier,
first_array PLGadmin.identifier,
array_list PLGadmin.dbmaxvc2,
desc_list PLGadmin.dbmaxvc2
);
TYPE array_tag_t IS TABLE OF array_tag_rt INDEX BY BINARY_INTEGER;
array_tag array_tag_t;
---------------- Modify Driver Information
PROCEDURE set_based_on (drvr IN VARCHAR2);
FUNCTION based_on RETURN VARCHAR2;
PROCEDURE clear (
drvr IN VARCHAR2 := NULL,
sch IN VARCHAR2 := NULL,
delarray IN BOOLEAN := FALSE
);
/* Define an array */
PROCEDURE defarray (
pkgname IN VARCHAR2,
arrayname IN VARCHAR2,
sch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL
);
---------------- Generate Text from cgml
/* Load contents of string into driver source table. */
PROCEDURE loadString (
string IN VARCHAR2,
delim IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
cleartable IN BOOLEAN := TRUE
);
/* Read/write cgml text with files */
PROCEDURE genFile (
obj IN VARCHAR2,
file IN VARCHAR2,
show IN BOOLEAN := FALSE,
cleardriver IN BOOLEAN := TRUE,
sch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
delarray IN BOOLEAN := TRUE,
single_pass IN BOOLEAN := FALSE
);
/* No database object required. */
PROCEDURE genFile (
file IN VARCHAR2,
show IN BOOLEAN := FALSE,
cleardriver IN BOOLEAN := TRUE,
sch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
delarray IN BOOLEAN := TRUE,
single_pass IN BOOLEAN := FALSE
);
PROCEDURE genFile (
obj IN VARCHAR2,
parms IN PLGadmin.vc2000_tabtype,
file IN VARCHAR2,
show IN BOOLEAN := FALSE,
cleardriver IN BOOLEAN := TRUE,
sch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
delarray IN BOOLEAN := TRUE,
single_pass IN BOOLEAN := FALSE
);
/* Read/write cgml text with files string and list. */
/* With genstring, still need to provide a STOREIN command
to initiate the write to a named list. */
PROCEDURE genString (
obj IN VARCHAR2,
string IN VARCHAR2,
show IN BOOLEAN := FALSE,
cleardriver IN BOOLEAN := TRUE,
sch IN VARCHAR2 := NULL,
delim IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
delarray IN BOOLEAN := TRUE,
single_pass IN BOOLEAN := FALSE
);
/* No database object required. */
PROCEDURE genString (
string IN VARCHAR2,
show IN BOOLEAN := FALSE,
cleardriver IN BOOLEAN := TRUE,
sch IN VARCHAR2 := NULL,
delim IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
delarray IN BOOLEAN := TRUE,
single_pass IN BOOLEAN := FALSE
);
PROCEDURE genString (
obj IN VARCHAR2,
string1_inout IN OUT VARCHAR2,
string2_inout IN OUT VARCHAR2,
string3_inout IN OUT VARCHAR2,
string4_inout IN OUT VARCHAR2,
string5_inout IN OUT VARCHAR2,
show IN BOOLEAN := FALSE,
sch IN VARCHAR2 := NULL,
delim IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
delarray IN BOOLEAN := TRUE,
single_pass IN BOOLEAN := FALSE,
objrequired IN BOOLEAN := TRUE,
maxlen IN PLS_INTEGER := NULL
);
PROCEDURE file2strings (
dir IN VARCHAR2,
file IN VARCHAR2,
string1_inout IN OUT VARCHAR2,
string2_inout IN OUT VARCHAR2,
string3_inout IN OUT VARCHAR2,
string4_inout IN OUT VARCHAR2,
string5_inout IN OUT VARCHAR2
);
---------------- Generate cgml Scripts
/* Generate cgml text to then be used in genString and genFile. */
PROCEDURE define_array (
pkgname IN VARCHAR2,
arrayname IN VARCHAR2,
fieldlist IN VARCHAR2,
coldelim IN VARCHAR2 := ',',
typedelim IN VARCHAR2 := ' ',
sch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL
);
PROCEDURE array_from_query (
pkgname IN VARCHAR2,
arrayname IN VARCHAR2,
query IN VARCHAR2,
fieldlist IN VARCHAR2 := NULL, /* Format 'COL TYPE,COL TYPE' */
coldelim IN VARCHAR2 := ',',
typedelim IN VARCHAR2 := ' ',
sch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
def_array_in_oir IN BOOLEAN := TRUE
);
c_include_col CONSTANT CHAR(1) := '+';
c_exclude_col CONSTANT CHAR(1) := '-';
PROCEDURE array_from_table (
pkgname IN VARCHAR2,
arrayname IN VARCHAR2,
tab IN VARCHAR2,
uselist IN VARCHAR2 := NULL,
ignorelist IN VARCHAR2 := NULL,
whr IN VARCHAR2 := NULL,
delim IN VARCHAR2 := ',',
sch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL,
def_array_in_oir IN BOOLEAN := TRUE
);
PROCEDURE define_table_array (
tab IN VARCHAR2,
whr IN VARCHAR2 := NULL,
tabsch IN VARCHAR2 := NULL,
pkgsch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL
);
PROCEDURE define_view_array (
viewname IN VARCHAR2,
viewstring IN VARCHAR2,
tabsch IN VARCHAR2 := NULL,
pkgsch IN VARCHAR2 := NULL,
drvr IN VARCHAR2 := NULL
);
/* Set up global elements of the driver language. */
PROCEDURE initialize;
/* Initialize all standard arrays. This is run in the init section
of the package.
PROCEDURE array_initialization;
/* Fill the array tag arrays */
PROCEDURE array_tag_initialize (drv IN VARCHAR2);
END PLGcgml;
/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -