检查 BIMC table 中是否存在列,SAP HANA

Checking if column exists in BIMC table, SAP HANA

我执行 HANA SQL 查询以确定哪个 cubes/views 属于特定的 HANA 目录。我想确保在结果集中包含基于 HDI 的视图,为此我想使用 BIMC_ALL_AUTHORIZED_CUBES/BIMC_CUBES 等系统表中的 QUALIFIED_NAME 列。但是,我想确保我支持 HDI 之前的 HANA 版本,所以我可能会遇到其中一个表中不存在 QUALIFIED_NAME 列的情况。

如何检查 HANA SQL 脚本中是否存在 QUALIFIED_NAME 列?最好不检查 HANA 版本。

您是否尝试查询包含每个 table 的所有列的 HANA 系统视图:

SELECT
 SCHEMA_NAME,
 TABLE_NAME,
 COLUMN_NAME,
 DATA_TYPE_NAME,
 LENGTH,
 SCALE,
 IS_NULLABLE,
 DEFAULT_VALUE,
 COLLATION,
 POSITION
FROM SYS.TABLE_COLUMNS
WHERE COLUMN_NAME = "QUALIFIED_NAME"

QUALIFIED_NAME 是在 HANA 1 SPS 11 中引入的。您可以使用以下查询检查正在使用的 HANA 版本:

Select VERSION from "SYS"."M_DATABASE"

您可以使用以下示例解释返回的版本号:

        01.00.0091 00-1418659308 => HANA 1.0 SPS09
        1.00.091.00.1418659308 => HANA 1.0 SPS09
        1.00.122.09.1493036600 => HANA 1.0 SPS12