У меня проблема с представлением sys.dba_tab_columns для low_value и high_value, так как они оба показывают неправильные значения.
Я проследил эту проблему до ядра, где он собирает информацию из таблицы статистики ядра x $ kxttstecs.
Как я могу обойти эту проблему, выбрав минимальные / максимальные / средние значения всех столбцов из нескольких таблиц от нескольких пользователей?
Также, чтобы сделать это автоматически обновляя как статистические данные БД?
Можете ли вы помочь мне с функцией или модифицировать таблицу статистики ядра?
У меня есть код SQL:
SELECT
ROWNUM AS ROW_ID,
sys.dba_tab_columns.OWNER,
sys.dba_tab_columns.table_name AS TABLE_NAME,
sys.dba_tab_columns.column_name AS COLUMN_NAME,
decode(data_type, 'NUMBER', sys.dba_tab_columns.low_value,
NULL) AS LOW_VALUE,
decode(data_type, 'NUMBER', sys.dba_tab_columns.high_value,
NULL) AS HIGH_VALUE
FROM sys.dba_tab_columns
WHERE sys.dba_tab_columns.OWNER = 'HR' OR sys.dba_tab_columns.OWNER ='XY';
где я получаю неверные данные как для LOW_VALUE, так и для HIGH_VALUE.
TABLE_NAME | COLUMN_NAME | LOW_VALUE | HIGH_VALUE
DEPARTMENTS | DEPARTMENT_ID | C10B | C20347
EMPLOYEES | DEPARTMENT_ID | C10B | C2020B
JOB_HISTORY | DEPARTMENT_ID | C115 | C2020B
Фактические значения из таблиц:
LOW_VALUE | HIGH_VALUE
10 | 270
10 | 110
20 | 110