0

我正在尝试在 SAP Hana 中创建一个将 ARRAY 作为列类型的表类型。当我使用标准 DDL 创建表类型时,即

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

从文档中不清楚如何创建列存储类型的表类型。由于我将 ARRAY 值从 .NET 代码传递到 HANA 中的存储过程以进行批量更新/更新,因此我无法取消此要求。

TIA

4

1 回答 1

1

无法创建列表类型 - 表类型始终是行结构,因为它们定义了记录的外观。类型不存储数据,因此此处的行/列/任何内容之间没有区别。

对于您想要做的事情 - 将 ARRAY 从客户端应用程序传递给 SAP HANA - 这种差异并不重要,因为根本不可能做到这一点。您可以在过程/函数和表之间传递数组,但没有外部接口可以将数据输入其中。只有使用该ARRAY()功能,您才能在服务器端创建数组。如果你在 stackoverflow 上搜索“hana array”,你会发现这已经被广泛讨论了......

使用 JAVA 在 HANA 中插入数组、在 HANA 中上传数组如何在循环中将数组插入到数据库中以列出一些示例。

于 2017-06-14T07:06:29.077 回答