SQL 兼容性增强功能

Db2 11.5.2 包含一些增强功能,这些增强功能可减少为其他关系数据库产品编写的应用程序在 Db2 环境中运行所需的时间和复杂性。

注意: 本主题中的增强功能包含在 Db2 11.5.2 修改包发行版中,此发行版仅可用于 Db2 WarehouseIBM Integrated Analytics System (IIAS)单个容器部署
下表显示 11.5.2 的仅容器发行版中的增强功能列表,这些增强功能提供与 PureData System for Analytics (Netezza) 的兼容性:
表 1. 11.5.2 中的 SQL 兼容性增强功能
增强功能 描述
WITH 子句现在可以嵌套

公共表表达式 (即 WITH 子句) 的查询主体现在可以包含其他公共表表达式。

TRUNCATE TABLE 语句不再需要 IMMEDIATE 子句

对于按列组织的表, IMMEDIATE 子句 现在对于 TRUNCATE 语句是可选的。 未指定 IMMEDIATE 子句时,可以停止 TRUNCATE 操作。 这意味着,在交易完成之前,可以在交易范围内的任何时间点停止该操作。 然后,截断的表立即可用于同一工作单元中。

对于不带 IMMEDIATE 子句的 TRUNCATE 语句,您可以发出 ROLLBACK 语句来撤销 TRUNCATE 操作,即使在原始 TRUNCATE 语句之后发出了另一个数据更改操作也是如此。 这将撤销所有内容,包括截断操作。 完成此操作后,您可以通过运行 REORG RECLAIM 操作手动回收存储器,也可以等待运行状况监视器触发器自动回收存储器。

LFINSTRING 指定如何在外部表中的字符串数据中解释未转义的换行符
当您创建使用文本文件格式的外部表时,名为 LFINSTRING 的新选项允许您指定如何为该表解释字符串数据中未转义的换行 (有时称为 LF 或换行) 字符:
  • 如果设置为 TRUE,当未转义的 LF 字符在记录的最后一个字段中时,它被解释为记录定界符;否则,它将被视为数据。
  • 如果设置为 FALSE,那么未转义的 LF 字符将被解释为记录定界符,而不考虑其位置。 这是缺省值。
此选项不受卸载操作的支持,并且仅适用于换行符,而不适用于回车换行符 (CRLF) 字符。