CORE/views/obj_packages.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';