【发布时间】:2021-09-14 08:11:13
【问题描述】:
我对此有点挣扎,也许有人看到了我没有看到的东西......
select 'BEGIN dbms_stats.gather_table_stats('''SCHEMA'', ''TABLENAME_'' || to_char(trunc(sysdate, 'MM'), 'YYYY-MM')', cascade => true, no_invalidate => false); END;' from dual;
所以输出应该是:
BEGIN dbms_stats.gather_table_stats('SCHEMA', 'TABLENAME_2021_07'), cascade => true, no_invalidate => false); END;
不知怎的,我没有找到逃避字符串的方法,我做错了什么?
提前致谢
【问题讨论】:
-
我考虑分区而不是每个月都有动态表名
-
需要动态吗?看起来您可以将表名构造为
TABLENAME_2021_07,然后照常将其传递给 dbms_stats.gather_table_stats。