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
|
||||
--
|
||||
|
||||
|
||||
@ -1,5 +1,23 @@
|
||||
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 (
|
||||
in_page_id navigation.page_id%TYPE := NULL
|
||||
)
|
||||
|
||||
@ -124,17 +124,7 @@ SELECT
|
||||
ELSE r.table_name
|
||||
END AS table_name,
|
||||
--
|
||||
app.get_page_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,
|
||||
app_actions.get_object_link(t.object_type, r.table_name) AS table_link,
|
||||
--
|
||||
CASE
|
||||
WHEN r.source_type_code != 'NATIVE_IG'
|
||||
|
||||
@ -40,11 +40,7 @@ FROM (
|
||||
s.column_name,
|
||||
s.data_type,
|
||||
--
|
||||
LISTAGG('<a href="' ||
|
||||
app.get_page_link(951,
|
||||
in_names => 'P951_TABLE_NAME',
|
||||
in_values => s.table_name
|
||||
) || '">' || s.table_name || '</a>', ', ')
|
||||
LISTAGG('<a href="' || app_actions.get_object_link('TABLE', s.table_name) || '">' || s.table_name || '</a>', ', ')
|
||||
WITHIN GROUP (ORDER BY s.table_name) AS tables,
|
||||
--
|
||||
LISTAGG('ALTER TABLE ' || LOWER(s.table_name) ||
|
||||
|
||||
@ -3,14 +3,7 @@ SELECT
|
||||
INITCAP(o.object_type) AS object_type,
|
||||
COUNT(*) AS count_objects,
|
||||
--
|
||||
CASE o.object_type
|
||||
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
|
||||
app_actions.get_object_link(o.object_type) AS page_link
|
||||
FROM user_objects o
|
||||
WHERE o.object_type NOT IN ('PACKAGE BODY', 'TABLE PARTITION')
|
||||
GROUP BY o.object_type;
|
||||
|
||||
@ -10,12 +10,7 @@ SELECT
|
||||
'<span style="margin-left: 2rem;">' || d.name || '</SPAN>' AS ref_name,
|
||||
LISTAGG(d.type, ', ') WITHIN GROUP (ORDER BY d.type) AS ref_type,
|
||||
--
|
||||
CASE REPLACE(MIN(d.type), ' BODY', '')
|
||||
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
|
||||
app_actions.get_object_link(REPLACE(MIN(d.type), ' BODY', ''), d.name) AS ref_link
|
||||
FROM user_dependencies d
|
||||
JOIN x
|
||||
ON x.owner_ = d.referenced_owner
|
||||
|
||||
@ -15,12 +15,12 @@ r AS (
|
||||
d.name AS view_name,
|
||||
--
|
||||
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)
|
||||
AS referenced_tables,
|
||||
--
|
||||
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)
|
||||
AS referenced_views
|
||||
FROM user_dependencies d
|
||||
@ -32,8 +32,10 @@ r AS (
|
||||
),
|
||||
u AS (
|
||||
SELECT
|
||||
d.referenced_name AS view_name,
|
||||
LISTAGG(d.name, ', ') WITHIN GROUP (ORDER BY d.name) AS used_in_objects
|
||||
d.referenced_name AS view_name,
|
||||
--
|
||||
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
|
||||
WHERE d.referenced_type = 'VIEW'
|
||||
GROUP BY d.referenced_name
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user