📄 plgdoir.spb
字号:
c_pkydesc,
unique_index,
1,
sch,
ver => TRUE,
aname => indexfunc,
atype => func_datatype
);
END;
PROCEDURE setlookup
/* designed for [raise]isnull */
(
drv IN VARCHAR2,
tab IN VARCHAR2,
lutype IN VARCHAR2,
/* c_raise */
lucontext IN VARCHAR2,
/* progname - ins or c_global */
luaction IN VARCHAR2,
/* ISNULL */
numval IN INTEGER,
/* errnum */
strval IN VARCHAR2,
/* errmsg */
sch IN VARCHAR2 := NULL
)
IS
BEGIN
ins (
drv,
sch,
tab,
lutype,
NVL (lucontext, c_global),
luaction,
c_global,
numval,
strval
);
END;
PROCEDURE getlookup
/* designed for [raise]isnull */
(
drv IN VARCHAR2,
tab IN VARCHAR2,
lutype IN VARCHAR2,
/* c_raise */
lucontext IN VARCHAR2,
/* progname - ins or c_global */
luaction IN VARCHAR2,
/* ISNULL */
numval IN OUT INTEGER,
/* errnum */
strval IN OUT VARCHAR2,
/* errmsg */
sch IN VARCHAR2 := NULL
)
IS
BEGIN
get_info_and_seq (
drv,
tab,
lutype,
lucontext,
luaction,
c_global,
strval,
numval,
sch
);
END;
PROCEDURE setactive (
drv IN VARCHAR2,
tab IN VARCHAR2,
infotype_in IN PLG_doir.infotype%TYPE,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
multitabset (
drv,
tab,
UPPER (infotype_in),
c_true,
1,
sch,
convert_val => FALSE
);
END;
PROCEDURE setinactive (
drv IN VARCHAR2,
tab IN VARCHAR2,
infotype_in IN PLG_doir.infotype%TYPE,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
multitabset (
drv,
tab,
UPPER (infotype_in),
c_false,
1,
sch,
convert_val => FALSE
);
END;
PROCEDURE setpkycol (
drv IN VARCHAR2,
tab IN VARCHAR2,
col IN VARCHAR2,
pos IN INTEGER := 1,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
multitabset (drv, tab, c_pkycol, col, pos, sch, TRUE);
END;
/* Primary key generation */
PROCEDURE setseqname (
drv IN VARCHAR2,
tab IN VARCHAR2,
seq IN VARCHAR2,
genonly IN BOOLEAN := TRUE,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
multitabset (
drv,
tab,
c_sequence,
seq,
1,
sch,
TRUE,
remove_conflicts => c_pkygenfunc || ',' || c_pkygenproc
);
IF genonly
THEN
setactive (drv, tab, c_genpkyonly, sch);
ELSE
setinactive (drv, tab, c_genpkyonly, sch);
END IF;
END;
PROCEDURE setpkyproc (
drv IN VARCHAR2,
tab IN VARCHAR2,
proc IN VARCHAR2,
genonly IN BOOLEAN := TRUE,
sch IN VARCHAR2 := NULL
)
IS
v_proc PLGadmin.dbmaxvc2 := RTRIM (proc, ';') || ';';
BEGIN
multitabset (
drv,
tab,
c_pkygenproc,
v_proc,
1,
sch,
FALSE,
convert_val => FALSE,
remove_conflicts => c_sequence || ',' || c_pkygenfunc
);
IF genonly
THEN
setactive (drv, tab, c_genpkyonly, sch);
ELSE
setinactive (drv, tab, c_genpkyonly, sch);
END IF;
END;
PROCEDURE setpkyfunc (
drv IN VARCHAR2,
tab IN VARCHAR2,
func IN VARCHAR2,
genonly IN BOOLEAN := TRUE,
sch IN VARCHAR2 := NULL
)
IS
v_func PLGadmin.dbmaxvc2 := RTRIM (func, ';');
BEGIN
multitabset (
drv,
tab,
c_pkygenfunc,
v_func,
1,
sch,
FALSE,
convert_val => FALSE,
remove_conflicts => c_sequence || ',' || c_pkygenproc
);
IF genonly
THEN
setactive (drv, tab, c_genpkyonly, sch);
ELSE
setinactive (drv, tab, c_genpkyonly, sch);
END IF;
END;
PROCEDURE nogenpky (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
multitabset (
drv,
tab,
NULL,
NULL,
1,
sch,
FALSE,
remove_conflicts => c_sequence ||
',' ||
c_pkygenproc ||
',' ||
c_pkygenfunc,
remove_only => TRUE
);
setinactive (drv, tab, c_genpkyonly, sch);
END;
/* Automatic Load Options */
PROCEDURE setloadnone (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
multitabset (
drv,
tab,
c_preload,
c_loadnone,
1,
sch,
remove_conflicts => c_loadall || ',' || c_loadincr
);
END;
PROCEDURE setloadall (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
multitabset (
drv,
tab,
c_preload,
c_loadall,
1,
ver => TRUE,
sch => sch,
remove_conflicts => c_loadnone || ',' || c_loadincr
);
END;
PROCEDURE setloadincr (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
multitabset (
drv,
tab,
c_preload,
c_loadincr,
1,
ver => TRUE,
sch => sch,
remove_conflicts => c_loadall || ',' || c_loadnone
);
END;
/* Return Type options */
PROCEDURE setcurvar (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setactive (drv, tab, c_usecurvar, sch);
END;
PROCEDURE nosetcurvar (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setinactive (drv, tab, c_usecurvar, sch);
END;
FUNCTION usecurvar (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
RETURN BOOLEAN
IS
BEGIN
RETURN isactive (drv, tab, c_usecurvar, sch => sch);
END;
/* 2000.2.5 Use Static SQL */
PROCEDURE setstaticSQL (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setactive (drv, tab, c_usestaticSQL, sch);
END;
PROCEDURE nosetstaticSQL (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setinactive (drv, tab, c_usestaticSQL, sch);
END;
FUNCTION usestaticSQL (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
RETURN BOOLEAN
IS
BEGIN
RETURN isactive (drv, tab, c_usestaticSQL, sch => sch);
END;
/* Return Type options */
PROCEDURE setrestrictref (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setactive (drv, tab, c_restrictref, sch);
END;
PROCEDURE nosetrestrictref (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setinactive (drv, tab, c_restrictref, sch);
END;
FUNCTION userestrictref (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
RETURN BOOLEAN
IS
BEGIN
RETURN isactive (drv, tab, c_restrictref, sch => sch);
END;
/* Stand-alone programs option */
PROCEDURE setsaprogs (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setactive (drv, tab, c_usesaprogs, sch);
END;
PROCEDURE nosetsaprogs (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setinactive (drv, tab, c_usesaprogs, sch);
END;
FUNCTION usesaprogs (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
RETURN BOOLEAN
IS
BEGIN
RETURN isactive (drv, tab, c_usesaprogs, sch => sch);
END;
/* Allow primary key updates */
PROCEDURE setupdpky
(drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL)
IS
BEGIN
setactive (drv, tab, c_updpky, sch);
END;
PROCEDURE nosetupdpky
(drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL)
IS
BEGIN
setinactive (drv, tab, c_updpky, sch);
END;
FUNCTION updpky
(drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL)
RETURN BOOLEAN
IS
BEGIN
RETURN isactive (drv, tab, c_updpky, sch => sch);
END;
/* Count rows functions option */
PROCEDURE setcountrows (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setactive (drv, tab, c_usecountrows, sch);
END;
PROCEDURE nosetcountrows (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
IS
BEGIN
setinactive (drv, tab, c_usecountrows, sch);
END;
FUNCTION usecountrows (
drv IN VARCHAR2,
tab IN VARCHAR2,
sch IN VARCHAR2 := NULL
)
RETURN BOOLEAN
IS
BEGIN
RETURN isactive (drv, tab, c_usecountrows, sch => sch);
END;
/* Error Handling Approach */
FUNCTION packed_excinfo (
exctype PLGadmin.identifier,
raisemech PLGadmin.dbmaxvc2,
handlemech PLGadmin.dbmaxvc2,
setcontext boolean,
successval VARCHAR2,
failureval VARCHAR2,
failuremsg VARCHAR2
)
RETURN VARCHAR2
IS
retval PLGadmin.dbmaxvc2;
BEGIN
retval :=
exctype ||
c_delim ||
raisemech ||
c_delim ||
handlemech ||
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -