创建列存储 Table 输入 Hana
Creating a Column Store Table Type in Hana
我正在尝试创建一个 table 类型,它在 SAP Hana 中将 ARRAY 作为列类型。当我使用标准 DDL 创建 table 类型时,即
CREATE TYPE MYSCHEMA.TABNAME AS TABLE("ObjList" INTEGER ARRAY);
我收到以下错误:
Could not execute 'CREATE TYPE "schema"."ListType" AS TABLE ( "ID" BIGINT CS_FIXED, ...'
SAP DBTech JDBC: [7]: feature not supported: cannot create row table having array type: ObjList
文档中不清楚如何创建 table 类型的列存储类型。由于我将 ARRAY 值从 .NET 代码传递到 HANA 中的存储过程以进行批量 update/upsert,因此我无法取消此要求。
TIA
无法创建列 table 类型 - table 类型始终是行结构,因为它们定义了记录的外观。类型不存储数据,所以这里不区分row/column/whatever。
对于您想做的事情——将 ARRAY 从客户端应用程序传递到 SAP HANA——这种差异无关紧要,因为这样做根本不可能。
您可以在 procedures/functions 和 table 之间传递数组,但没有外部接口可以将数据输入其中。
只有使用 ARRAY()
函数才能在服务器端创建数组。
如果您在 Whosebug 上搜索 'hana array',您会发现已经对此进行了相当广泛的讨论...
, or 举几个例子。
我正在尝试创建一个 table 类型,它在 SAP Hana 中将 ARRAY 作为列类型。当我使用标准 DDL 创建 table 类型时,即
CREATE TYPE MYSCHEMA.TABNAME AS TABLE("ObjList" INTEGER ARRAY);
我收到以下错误:
Could not execute 'CREATE TYPE "schema"."ListType" AS TABLE ( "ID" BIGINT CS_FIXED, ...'
SAP DBTech JDBC: [7]: feature not supported: cannot create row table having array type: ObjList
文档中不清楚如何创建 table 类型的列存储类型。由于我将 ARRAY 值从 .NET 代码传递到 HANA 中的存储过程以进行批量 update/upsert,因此我无法取消此要求。
TIA
无法创建列 table 类型 - table 类型始终是行结构,因为它们定义了记录的外观。类型不存储数据,所以这里不区分row/column/whatever。
对于您想做的事情——将 ARRAY 从客户端应用程序传递到 SAP HANA——这种差异无关紧要,因为这样做根本不可能。
您可以在 procedures/functions 和 table 之间传递数组,但没有外部接口可以将数据输入其中。
只有使用 ARRAY()
函数才能在服务器端创建数组。
如果您在 Whosebug 上搜索 'hana array',您会发现已经对此进行了相当广泛的讨论...