简体   繁体   English

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

[英]Checking if column exists in BIMC table, SAP HANA

I have a HANA SQL query I execute to determine which cubes/views belong to a particular HANA catalog. 我执行一个HANA SQL查询,以确定哪些多维数据集/视图属于特定的HANA目录。 I want to make sure I'm including HDI-based views in the results set, and to that end I want to use the QUALIFIED_NAME column in the BIMC_ALL_AUTHORIZED_CUBES/BIMC_CUBES etc system tables. 我想确保在结果集中包括基于HDI的视图,为此,我想使用BIMC_ALL_AUTHORIZED_CUBES / BIMC_CUBES等系统表中的QUALIFIED_NAME列。 However, I want to make sure I'm supporting pre-HDI version of HANA, so it's possible I'll encounter a case where the QUALIFIED_NAME column doesn't exist in one of those tables. 但是,我想确保我支持HDI的HDI之前的版本,因此有可能遇到其中一个表中不存在QUALIFIED_NAME列的情况。

How can I check whether the QUALIFIED_NAME column exists in HANA SQL Script? 如何检查HANA SQL脚本中是否存在QUALIFIED_NAME列? Preferably without checking the HANA version. 最好不检查HANA版本。

Did you try to query HANA system views that contain all columns for each 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 was introduced in HANA 1 SPS 11. You can check the version of HANA in use using the following query: QUALIFIED_NAME 1 SPS 11中引入了QUALIFIED_NAME。您可以使用以下查询来检查正在使用的HANA版本:

Select VERSION from "SYS"."M_DATABASE"

You can interpret the version number returned using the following examples: 您可以使用以下示例解释返回的版本号:

        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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM