Files
oracle/tpt/mods.sql
2026-03-12 21:23:47 +01:00

47 lines
1.3 KiB
SQL

-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
COL mods_owner FOR A30
COL mods_table_name FOR A30
COL mods_object_name FOR A30
PROMPT Display table modifcations from DBA_TAB_MODIFICATIONS for tables &1....
SELECT
t.owner mods_owner
, t.table_name mods_table_name
, SUM(m.inserts ) inserts
, SUM(m.updates ) updates
, SUM(m.deletes ) deletes
, SUM(m.inserts) + SUM(m.updates) + SUM(m.deletes) total_dml
, t.num_rows
, ROUND((SUM(m.inserts) + SUM(m.updates) + SUM(m.deletes)) / NULLIF(t.num_rows,0) * 100, 1) changed_pct
FROM
dba_tables t
, dba_tab_modifications m
WHERE
t.owner = m.table_owner
AND t.table_name = m.table_name
AND upper(t.table_name) LIKE
upper(CASE
WHEN INSTR('&1','.') > 0 THEN
SUBSTR('&1',INSTR('&1','.')+1)
ELSE
'&1'
END
)
AND owner LIKE
CASE WHEN INSTR('&1','.') > 0 THEN
UPPER(SUBSTR('&1',1,INSTR('&1','.')-1))
ELSE
user
END
GROUP BY
t.owner -- mods_owner
, t.table_name -- mods_object_name
, t.num_rows
ORDER BY
mods_owner
, mods_table_name
/