Создание типа таблицы хранилища столбцов в Hana

Я пытаюсь создать тип таблицы с ARRAY в качестве типа столбца в SAP Hana. Когда я использую стандартный 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 для массового обновления / обновления, я не могу отменить это требование.

ТИА

1 ответ

Решение

Невозможно создать типы таблиц столбцов - типы таблиц всегда представляют собой структуру строк, так как они определяют, как должны выглядеть записи. Типы не хранят данные, поэтому здесь нет различия между строкой / столбцом / чем угодно.

Для того, что вы хотите сделать - передать ARRARYs из клиентского приложения в SAP HANA - это различие не имеет значения, поскольку это просто невозможно сделать. Вы можете передавать массивы между процедурами / функциями и таблицами, но никакой внешний интерфейс не может передавать в них данные. Только с ARRAY() Функция, которую вы можете создавать массивы на стороне сервера. Если вы будете искать "массив hana" здесь на SO, вы обнаружите, что это уже обсуждалось довольно широко...

Вставить массив в HANA с помощью JAVA, Загрузить массив в HANA или Как вставить массив в цикл в базу данных, чтобы перечислить несколько примеров.

Другие вопросы по тегам