Consolidate links to objects into a function
This commit is contained in:
parent
1274bd4764
commit
807128abae
@ -46,6 +46,20 @@ CREATE OR REPLACE PACKAGE app_actions AS
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- ### Help functions
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Get link to proper object page
|
||||||
|
--
|
||||||
|
FUNCTION get_object_link (
|
||||||
|
in_object_type VARCHAR2 := NULL,
|
||||||
|
in_object_name VARCHAR2 := NULL
|
||||||
|
)
|
||||||
|
RETURN VARCHAR2;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- ### Navigation page
|
-- ### Navigation page
|
||||||
--
|
--
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,23 @@
|
|||||||
CREATE OR REPLACE PACKAGE BODY app_actions AS
|
CREATE OR REPLACE PACKAGE BODY app_actions AS
|
||||||
|
|
||||||
|
FUNCTION get_object_link (
|
||||||
|
in_object_type VARCHAR2 := NULL,
|
||||||
|
in_object_name VARCHAR2 := NULL
|
||||||
|
)
|
||||||
|
RETURN VARCHAR2
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
RETURN CASE in_object_type
|
||||||
|
WHEN 'TABLE' THEN app.get_page_link(951, in_names => 'P951_TABLE_NAME', in_values => in_object_name)
|
||||||
|
WHEN 'TRIGGER' THEN app.get_page_link(952, in_names => 'P952_TRIGGER_NAME', in_values => in_object_name)
|
||||||
|
WHEN 'VIEW' THEN app.get_page_link(955, in_names => 'P955_VIEW_NAME', in_values => in_object_name)
|
||||||
|
WHEN 'PACKAGE' THEN app.get_page_link(960, in_names => 'P960_PACKAGE_NAME', in_values => in_object_name)
|
||||||
|
WHEN 'JOB' THEN app.get_page_link(905, in_names => 'P905_JOB_NAME', in_values => in_object_name)
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE nav_remove_pages (
|
PROCEDURE nav_remove_pages (
|
||||||
in_page_id navigation.page_id%TYPE := NULL
|
in_page_id navigation.page_id%TYPE := NULL
|
||||||
)
|
)
|
||||||
|
|||||||
@ -124,17 +124,7 @@ SELECT
|
|||||||
ELSE r.table_name
|
ELSE r.table_name
|
||||||
END AS table_name,
|
END AS table_name,
|
||||||
--
|
--
|
||||||
app.get_page_link (
|
app_actions.get_object_link(t.object_type, r.table_name) AS table_link,
|
||||||
in_page_id => CASE
|
|
||||||
WHEN t.object_type = 'TABLE' THEN 951
|
|
||||||
WHEN t.object_type = 'VIEW' THEN 955
|
|
||||||
END,
|
|
||||||
in_names => CASE
|
|
||||||
WHEN t.object_type = 'TABLE' THEN 'P951_TABLE_NAME'
|
|
||||||
WHEN t.object_type = 'VIEW' THEN 'P955_VIEW_NAME'
|
|
||||||
END,
|
|
||||||
in_values => r.table_name
|
|
||||||
) AS table_link,
|
|
||||||
--
|
--
|
||||||
CASE
|
CASE
|
||||||
WHEN r.source_type_code != 'NATIVE_IG'
|
WHEN r.source_type_code != 'NATIVE_IG'
|
||||||
|
|||||||
@ -40,11 +40,7 @@ FROM (
|
|||||||
s.column_name,
|
s.column_name,
|
||||||
s.data_type,
|
s.data_type,
|
||||||
--
|
--
|
||||||
LISTAGG('<a href="' ||
|
LISTAGG('<a href="' || app_actions.get_object_link('TABLE', s.table_name) || '">' || s.table_name || '</a>', ', ')
|
||||||
app.get_page_link(951,
|
|
||||||
in_names => 'P951_TABLE_NAME',
|
|
||||||
in_values => s.table_name
|
|
||||||
) || '">' || s.table_name || '</a>', ', ')
|
|
||||||
WITHIN GROUP (ORDER BY s.table_name) AS tables,
|
WITHIN GROUP (ORDER BY s.table_name) AS tables,
|
||||||
--
|
--
|
||||||
LISTAGG('ALTER TABLE ' || LOWER(s.table_name) ||
|
LISTAGG('ALTER TABLE ' || LOWER(s.table_name) ||
|
||||||
|
|||||||
@ -3,14 +3,7 @@ SELECT
|
|||||||
INITCAP(o.object_type) AS object_type,
|
INITCAP(o.object_type) AS object_type,
|
||||||
COUNT(*) AS count_objects,
|
COUNT(*) AS count_objects,
|
||||||
--
|
--
|
||||||
CASE o.object_type
|
app_actions.get_object_link(o.object_type) AS page_link
|
||||||
WHEN 'TABLE' THEN app.get_page_link(951)
|
|
||||||
WHEN 'TRIGGER' THEN app.get_page_link(952)
|
|
||||||
WHEN 'VIEW' THEN app.get_page_link(955)
|
|
||||||
WHEN 'PACKAGE' THEN app.get_page_link(960)
|
|
||||||
WHEN 'JOB' THEN app.get_page_link(905)
|
|
||||||
ELSE NULL
|
|
||||||
END AS page_link
|
|
||||||
FROM user_objects o
|
FROM user_objects o
|
||||||
WHERE o.object_type NOT IN ('PACKAGE BODY', 'TABLE PARTITION')
|
WHERE o.object_type NOT IN ('PACKAGE BODY', 'TABLE PARTITION')
|
||||||
GROUP BY o.object_type;
|
GROUP BY o.object_type;
|
||||||
|
|||||||
@ -10,12 +10,7 @@ SELECT
|
|||||||
'<span style="margin-left: 2rem;">' || d.name || '</SPAN>' AS ref_name,
|
'<span style="margin-left: 2rem;">' || d.name || '</SPAN>' AS ref_name,
|
||||||
LISTAGG(d.type, ', ') WITHIN GROUP (ORDER BY d.type) AS ref_type,
|
LISTAGG(d.type, ', ') WITHIN GROUP (ORDER BY d.type) AS ref_type,
|
||||||
--
|
--
|
||||||
CASE REPLACE(MIN(d.type), ' BODY', '')
|
app_actions.get_object_link(REPLACE(MIN(d.type), ' BODY', ''), d.name) AS ref_link
|
||||||
WHEN 'TRIGGER' THEN app.get_page_link(952, in_names => 'P952_TRIGGER_NAME', in_values => d.name)
|
|
||||||
WHEN 'VIEW' THEN app.get_page_link(955, in_names => 'P955_VIEW_NAME', in_values => d.name)
|
|
||||||
WHEN 'PACKAGE' THEN app.get_page_link(960, in_names => 'P960_PACKAGE_NAME', in_values => d.name)
|
|
||||||
ELSE NULL
|
|
||||||
END AS ref_link
|
|
||||||
FROM user_dependencies d
|
FROM user_dependencies d
|
||||||
JOIN x
|
JOIN x
|
||||||
ON x.owner_ = d.referenced_owner
|
ON x.owner_ = d.referenced_owner
|
||||||
|
|||||||
@ -15,12 +15,12 @@ r AS (
|
|||||||
d.name AS view_name,
|
d.name AS view_name,
|
||||||
--
|
--
|
||||||
LISTAGG(CASE WHEN d.referenced_type = 'TABLE'
|
LISTAGG(CASE WHEN d.referenced_type = 'TABLE'
|
||||||
THEN '<a href="' || app.get_page_link(951, in_names => 'P951_TABLE_NAME', in_values => d.referenced_name) || '">' || d.referenced_name || '</a>' END, ', ')
|
THEN '<a href="' || app_actions.get_object_link(d.referenced_type, d.referenced_name) || '">' || d.referenced_name || '</a>' END, ', ')
|
||||||
WITHIN GROUP (ORDER BY d.referenced_name)
|
WITHIN GROUP (ORDER BY d.referenced_name)
|
||||||
AS referenced_tables,
|
AS referenced_tables,
|
||||||
--
|
--
|
||||||
LISTAGG(CASE WHEN d.referenced_type = 'VIEW'
|
LISTAGG(CASE WHEN d.referenced_type = 'VIEW'
|
||||||
THEN '<a href="' || app.get_page_link(955, in_names => 'P955_VIEW_NAME', in_values => d.referenced_name) || '">' || d.referenced_name || '</a>' END, ', ')
|
THEN '<a href="' || app_actions.get_object_link(d.referenced_type, d.referenced_name) || '">' || d.referenced_name || '</a>' END, ', ')
|
||||||
WITHIN GROUP (ORDER BY d.referenced_name)
|
WITHIN GROUP (ORDER BY d.referenced_name)
|
||||||
AS referenced_views
|
AS referenced_views
|
||||||
FROM user_dependencies d
|
FROM user_dependencies d
|
||||||
@ -33,7 +33,9 @@ r AS (
|
|||||||
u AS (
|
u AS (
|
||||||
SELECT
|
SELECT
|
||||||
d.referenced_name AS view_name,
|
d.referenced_name AS view_name,
|
||||||
LISTAGG(d.name, ', ') WITHIN GROUP (ORDER BY d.name) AS used_in_objects
|
--
|
||||||
|
LISTAGG('<a href="' || app_actions.get_object_link(d.type, d.name) || '">' || d.name || '</a>', ', ')
|
||||||
|
WITHIN GROUP (ORDER BY d.name) AS used_in_objects
|
||||||
FROM user_dependencies d
|
FROM user_dependencies d
|
||||||
WHERE d.referenced_type = 'VIEW'
|
WHERE d.referenced_type = 'VIEW'
|
||||||
GROUP BY d.referenced_name
|
GROUP BY d.referenced_name
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user