Teradata отбрасывает статистику, если статистика существует - PullRequest
0 голосов
/ 05 апреля 2020

Сценарий DDL / DML изменяет структуру таблицы, и наличие статистики по столбцам не позволяет ей продолжить работу. Было найдено решение - сбросить статистику столбцов, которые изменяются / удаляются первыми.

Однако, если статистика не существует, сценарий, в свою очередь, прерывается при попытке удалить эту статистику.

Какой дешевый способ реализовать логи c?

«если статистика существует»

1 Ответ

0 голосов
/ 09 апреля 2020

Похоже, что этот работает так, как задумано в SQL* Помощник, согласно отзывам Дитера:

select * from dbc.StatsV
where tablename='${table_name}'
  and columnName='${column_name}'
;

.IF ACTIVITYCOUNT>0 THEN .GOTO lbl_drop;

select 'Stats not found for column ${column_name}';
.EXIT; 

.LABEL lbl_drop;
select 'Dropping stats for column ${column_name}';
DROP STATISTICS ON ${table_name} COLUMN ${column_name};
...