【发布时间】:2020-04-09 08:44:57
【问题描述】:
DDL/DML 脚本正在修改表结构,列上存在统计信息会阻止它继续进行。 找到的解决方案是 - 首先删除正在修改/删除的列的统计信息。
但是,如果统计信息不存在,则脚本会在尝试删除这些统计信息时依次中止。
什么是实现“如果统计数据存在丢弃统计数据”逻辑的廉价方法?
【问题讨论】:
-
这个脚本如何运行,BTEQ?
-
SQL,所以也可以是BTEQ
-
在 BTEQ 脚本中可能有一个 MAXERROR 导致脚本失败,在这种情况下,您只需在 DROP 之前
.SET ERRORLEVEL 3582 severity 0;,这不会导致丢失统计信息失败。或者您首先检查dbc.StatsV中是否存在统计信息,然后如果没有返回行则跳过收集。 -
@dieter,您能否将您的评论移至答案部分,以便我接受它作为解决方案?
标签: teradata