Skip to content

Commit dd0049c

Browse files
committed
Add Oracle package T4SQL.ENGINE
1 parent ec0a7a4 commit dd0049c

File tree

5 files changed

+227
-2
lines changed

5 files changed

+227
-2
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
CREATE OR REPLACE VIEW T4SQL.VW_FOREIGN_KEY_COLUMNS AS
2+
SELECT
3+
CR.OWNER,
4+
CR.TABLE_NAME,
5+
CR.CONSTRAINT_NAME,
6+
FC.COLUMN_NAME AS FOREIGN_KEY_COLUMN,
7+
CF.NULLABLE AS FOREIGN_KEY_NULLABLE,
8+
FC.POSITION,
9+
PC.OWNER AS REFERENCED_SCHEMA,
10+
PC.TABLE_NAME AS REFERENCED_TABLE,
11+
PC.COLUMN_NAME AS REFERENCED_COLUMN,
12+
CP.NULLABLE AS REFERENCED_NULLABLE
13+
FROM
14+
ALL_TAB_COLUMNS CP,
15+
ALL_CONS_COLUMNS PC,
16+
ALL_TAB_COLUMNS CF,
17+
ALL_CONS_COLUMNS FC,
18+
ALL_CONSTRAINTS CR
19+
WHERE
20+
CP.COLUMN_NAME = PC.COLUMN_NAME
21+
AND CP.TABLE_NAME = PC.TABLE_NAME
22+
AND CP.OWNER = PC.OWNER
23+
AND PC.POSITION = FC.POSITION
24+
AND PC.CONSTRAINT_NAME = CR.R_CONSTRAINT_NAME
25+
AND PC.OWNER = CR.R_OWNER
26+
AND CF.COLUMN_NAME = FC.COLUMN_NAME
27+
AND CF.TABLE_NAME = FC.TABLE_NAME
28+
AND CF.OWNER = FC.OWNER
29+
AND FC.CONSTRAINT_NAME = CR.CONSTRAINT_NAME
30+
AND FC.OWNER = CR.OWNER
31+
AND CR.CONSTRAINT_TYPE = 'R'
32+
ORDER BY
33+
CR.OWNER,
34+
CR.TABLE_NAME,
35+
CR.CONSTRAINT_NAME,
36+
FC.POSITION
37+
38+
WITH READ ONLY;

T4SQLTemplateLibrary/Databases/Oracle/T4SQLDB/Scripts/4-Packages/02-ENGINE.pck

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,49 @@ PROCEDURE REGISTER_TEMPLATE_SPEC
6868
);
6969

7070

71+
PROCEDURE LIST_COLUMN
72+
(
73+
inTable_Name VARCHAR2,
74+
RC1 OUT SYS_REFCURSOR
75+
);
76+
77+
78+
PROCEDURE GET_FOREIGN_KEY
79+
(
80+
inTable_Name VARCHAR2,
81+
outTable_Schema OUT VARCHAR2,
82+
outTable_Name OUT VARCHAR2,
83+
outQualified_Name OUT VARCHAR2,
84+
RC1 OUT SYS_REFCURSOR
85+
);
86+
87+
88+
PROCEDURE LIST_WORKSPACE
89+
(
90+
RC1 OUT SYS_REFCURSOR
91+
);
92+
93+
94+
PROCEDURE LIST_WORKITEM
95+
(
96+
inWorkitem_Table VARCHAR2,
97+
RC1 OUT SYS_REFCURSOR
98+
);
99+
100+
101+
PROCEDURE LIST_WORKING_PROPERTY
102+
(
103+
inProperty_Table VARCHAR2,
104+
RC1 OUT SYS_REFCURSOR
105+
);
106+
107+
108+
PROCEDURE LIST_DEFAULT_PROPERTY
109+
(
110+
RC1 OUT SYS_REFCURSOR
111+
);
112+
113+
71114
PROCEDURE LOG_SYS_ERROR
72115
(
73116
inReference NVARCHAR2,
@@ -276,6 +319,147 @@ BEGIN
276319
END REGISTER_TEMPLATE_SPEC;
277320

278321

322+
PROCEDURE LIST_COLUMN
323+
(
324+
inTable_Name VARCHAR2,
325+
RC1 OUT SYS_REFCURSOR
326+
) AS
327+
tSchema_Name VARCHAR2(30) := T4SQL.META.PARSENAME(inTable_Name, 2);
328+
tTable_Name VARCHAR2(30) := T4SQL.META.PARSENAME(inTable_Name, 1);
329+
BEGIN
330+
OPEN RC1 FOR
331+
SELECT
332+
COLUMN_NAME,
333+
DECODE(NULLABLE, 'Y', 'True', 'False') AS IS_NULLABLE
334+
FROM
335+
ALL_TAB_COLUMNS
336+
WHERE
337+
TABLE_NAME = tTable_Name
338+
AND OWNER = tSchema_Name
339+
ORDER BY
340+
COLUMN_ID;
341+
342+
END LIST_COLUMN;
343+
344+
345+
PROCEDURE GET_FOREIGN_KEY
346+
(
347+
inTable_Name VARCHAR2,
348+
outTable_Schema OUT VARCHAR2,
349+
outTable_Name OUT VARCHAR2,
350+
outQualified_Name OUT VARCHAR2,
351+
RC1 OUT SYS_REFCURSOR
352+
) AS
353+
BEGIN
354+
outTable_Schema := T4SQL.META.PARSENAME(inTable_Name, 2);
355+
outTable_Name := T4SQL.META.PARSENAME(inTable_Name, 1);
356+
outQualified_Name := outTable_Schema || '.' || outTable_Name;
357+
358+
OPEN RC1 FOR
359+
SELECT
360+
CONSTRAINT_NAME,
361+
FOREIGN_KEY_COLUMN,
362+
DECODE(FOREIGN_KEY_NULLABLE, 'Y', 'True', 'False') AS FOREIGN_KEY_NULLABLE,
363+
REFERENCED_SCHEMA || '.' || REFERENCED_TABLE AS REFERENCED_TABLE,
364+
REFERENCED_COLUMN,
365+
DECODE(REFERENCED_NULLABLE, 'Y', 'True', 'False') AS REFERENCED_NULLABLE
366+
FROM
367+
T4SQL.VW_FOREIGN_KEY_COLUMNS
368+
WHERE
369+
TABLE_NAME = outTable_Name
370+
AND OWNER = outTable_Schema;
371+
372+
END GET_FOREIGN_KEY;
373+
374+
375+
PROCEDURE LIST_WORKSPACE
376+
(
377+
RC1 OUT SYS_REFCURSOR
378+
) AS
379+
BEGIN
380+
OPEN RC1 FOR
381+
SELECT
382+
WORKITEM_TABLE_NAME,
383+
PROPERTY_TABLE_NAME
384+
FROM
385+
T4SQL.WORKSPACE_ENTRY
386+
ORDER BY
387+
WORKSPACE_ID;
388+
389+
END LIST_WORKSPACE;
390+
391+
392+
PROCEDURE LIST_WORKITEM
393+
(
394+
inWorkitem_Table VARCHAR2,
395+
RC1 OUT SYS_REFCURSOR
396+
) AS
397+
tSQL VARCHAR2(512);
398+
BEGIN
399+
tSQL := 'SELECT
400+
I.WORKITEM_NAME,
401+
C.FULL_NAME AS TEMPLATE_NAME
402+
FROM
403+
T4SQL.TEMPLATE_CLASS C,
404+
' || inWorkitem_Table || ' I
405+
WHERE
406+
C.FULL_NAME = I.TEMPLATE_NAME
407+
AND C.IS_ACTIVE = 1
408+
AND I.START_BUILD = 1
409+
ORDER BY
410+
I.BUILD_ORDER
411+
';
412+
413+
OPEN RC1 FOR tSQL;
414+
END LIST_WORKITEM;
415+
416+
417+
PROCEDURE LIST_WORKING_PROPERTY
418+
(
419+
inProperty_Table VARCHAR2,
420+
RC1 OUT SYS_REFCURSOR
421+
) AS
422+
tSQL VARCHAR2(512);
423+
BEGIN
424+
tSQL := 'SELECT
425+
WORKITEM_NAME,
426+
PROPERTY_NAME,
427+
STRING_VALUE,
428+
LINK_STATE
429+
FROM
430+
' || inProperty_Table || '
431+
ORDER BY
432+
WORKITEM_NAME,
433+
PROPERTY_NAME
434+
';
435+
436+
OPEN RC1 FOR tSQL;
437+
END LIST_WORKING_PROPERTY;
438+
439+
440+
PROCEDURE LIST_DEFAULT_PROPERTY
441+
(
442+
RC1 OUT SYS_REFCURSOR
443+
) AS
444+
BEGIN
445+
OPEN RC1 FOR
446+
SELECT
447+
D.CLASS_NAME,
448+
D.PROPERTY_NAME,
449+
D.DEFAULT_VALUE,
450+
D.LINK_STATE
451+
FROM
452+
T4SQL.TEMPLATE_SPEC D,
453+
T4SQL.TEMPLATE_CLASS C
454+
WHERE
455+
D.CLASS_NAME = C.FULL_NAME
456+
AND C.IS_ACTIVE = 'Y'
457+
ORDER BY
458+
D.PROPERTY_ORDER;
459+
460+
END LIST_DEFAULT_PROPERTY;
461+
462+
279463
PROCEDURE LOG_SYS_ERROR
280464
(
281465
inReference NVARCHAR2,

T4SQLTemplateLibrary/Databases/Oracle/T4SQLDB/Scripts/5-Triggers/02-TRG_WORKSPACE_ENTRY_DEL.trg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TRIGGER TRG_WORKSPACE_ENTRY_DEL
1+
CREATE OR REPLACE TRIGGER T4SQL.TRG_WORKSPACE_ENTRY_DEL
22
BEFORE DELETE ON T4SQL.WORKSPACE_ENTRY
33
FOR EACH ROW
44
BEGIN

T4SQLTemplateLibrary/Databases/Oracle/T4SQLDB/Scripts/5-Triggers/03-TRG_WORKSPACE_ENTRY_INS.trg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TRIGGER TRG_WORKSPACE_ENTRY_INS
1+
CREATE OR REPLACE TRIGGER T4SQL.TRG_WORKSPACE_ENTRY_INS
22
BEFORE INSERT OR UPDATE ON T4SQL.WORKSPACE_ENTRY
33
FOR EACH ROW
44
DECLARE

T4SQLTemplateLibrary/Databases/Oracle/T4SQLDB/T4SQLDB.modelproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@
5757
<Content Include="Scripts\3-Views\02-VW_ORDINAL_NUMBER_EXPANSION.sql">
5858
<SubType>Content</SubType>
5959
</Content>
60+
<Content Include="Scripts\3-Views\03-VW_FOREIGN_KEY_COLUMNS.sql">
61+
<SubType>Content</SubType>
62+
</Content>
6063
<Content Include="Scripts\4-Packages\01-META.pck">
6164
<SubType>Content</SubType>
6265
</Content>

0 commit comments

Comments
 (0)