Как я могу прочитать содержимое параметра типа out таблицы процедуры в SAP Hana SQL Script?Тип таблицы таблицы вывода в SAP Hana
Процедура Образец:
create procedure "MYSCHEMA".ReturnTypeTest(out OUTPUT_TABLE "MYSCHEMA"."RESOUT")
as
begin
create local temporary table #temp ("COL1" bigint, "COL2" bigint, "COL3" bigint);
insert into #temp values(1, 2, 3);
insert into #temp values(4, 5, 6);
insert into #temp values(7, 8, 9);
OUTPUT_TABLE = select * from #temp;
drop table #temp;
end;
Таблица Тип (Out Параметр):
create type "MYSCHEMA"."RESOUT" as table ("COL1" bigint, "COL2" bigint, "COL3" bigint);
Когда я вызываю процедуру, как показано ниже, отображает все содержимое в панели результатов SAP HANA Studio, но как я могу получить его программным путем?
call "MYSCHEMA"."RETURNTYPETEST"(?);
Спасибо за ваш ответ, но поскольку функции доступны только для чтения в SAP Hana, его нельзя использовать в нашей ситуации. Есть ли у нас другой вариант, кроме TUDF? – Amiga500
Итак, вам нужна процедура, которая изменяет данные и возвращает набор результатов, который можно прочитать из простого SQL? Нет, я не вижу способа сделать это. Для вашего примера вы можете просто запустить процедуру и выбрать измененные данные из temp. table - данные сохраняются до тех пор, пока выполняется ваша сессия, поэтому вы можете злоупотреблять этим как способ передачи данных. Но поймите, что это довольно плохой дизайн и что большинство манипуляций с данными, которые вы можете захотеть сделать, можно сделать, не записывая и не обновляя данные в таблицах. Вы выбрали именно худший из них. –
Нет, я не ищу способ прочитать выходной параметр из простого SQL. Мне нужно вызвать эту процедуру в теле другой процедуры и обработать то, что она возвращает. Но я не знаю, как обрабатывать вывод типа таблицы. Если бы это был скалярный параметр, я могу просто объявить для него переменную, но я не мог понять, какая структура данных используется для параметров типа таблицы. – Amiga500