我很想 - 我希望反对希望。但我想看看这里是否有一丝曙光....当您创建这样的 VT
create multiset volatile table VT , no fallback,no log as
( sel
A.1, B.2 from A Join B on <conditon >
)
with data Primary Index (____) on commit preserve rows ;
即使构成 VT 的列不是 NULL,表列也始终为 NULLABLE。因此,根据 A 和 B 的 DDL,上面的例如 A.1 B.2 不是 NULL 列(或者我可以在 sel 子句中编写过滤条件以清除 NULLS )。在任何一种情况下,VT 表设计都无法智能地感知 A.1 和 B.2 不是 NULL,因此请将它们保持在 VT 中。
为什么这有关系 ?
因为在后续查询中加入 VT 时,将 Not null 列设为可为空会导致空值检查和处理开销。所以我被迫使用“无数据”语句获取 DDL,并将 NOT NULL 添加到 DDL,然后发出单独的 CT 语句
我是否遗漏了什么或者那是“就是这样”