29 lines
1.0 KiB
SQL
29 lines
1.0 KiB
SQL
CREATE OR REPLACE VIEW obj_packages AS
|
|
SELECT
|
|
t.package_name,
|
|
--
|
|
CASE
|
|
WHEN REGEXP_LIKE(t.package_name, '^A\d+$') THEN 'CORE - Application roles...'
|
|
WHEN REGEXP_LIKE(t.package_name, '^S\d+$') THEN 'CORE - Application settings'
|
|
WHEN t.package_name IN ('APP', 'APP_ACTIONS', 'GEN') THEN 'CORE'
|
|
END AS package_group,
|
|
--
|
|
NULLIF(COUNT(*) - SUM(CASE WHEN t.is_function IS NOT NULL THEN 1 ELSE 0 END), 0) AS count_procedures,
|
|
NULLIF(SUM(CASE WHEN t.is_function IS NOT NULL THEN 1 ELSE 0 END), 0) AS count_functions,
|
|
--
|
|
SUM(t.count_lines) AS count_lines,
|
|
SUM(t.count_statements) AS count_statements,
|
|
--
|
|
MAX(o.last_ddl_time) AS last_ddl_time,
|
|
--
|
|
NULL AS desc_
|
|
FROM obj_modules t
|
|
JOIN all_objects o
|
|
ON o.owner = t.owner
|
|
AND o.object_name = t.package_name
|
|
AND o.object_type = 'PACKAGE'
|
|
GROUP BY t.package_name;
|
|
--
|
|
COMMENT ON TABLE obj_packages IS 'List of packages';
|
|
|