如何读取SAP Hana SQL脚本中过程的表格类型参数的内容?在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;
表类型(输出该参数):
create type "MYSCHEMA"."RESOUT" as table ("COL1" bigint, "COL2" bigint, "COL3" bigint);
当我调用过程如下,它显示在SAP HANA Studio的结果窗格全部内容但我怎样才能以编程方式获得它?
call "MYSCHEMA"."RETURNTYPETEST"(?);
感谢您的回复,但由于函数在SAP Hana中只读,因此无法用于我们的情况。除了TUDF,我们还有其他选择吗? – Amiga500
好的,所以你想要一个过程来改变数据并返回一个可以从普通SQL读取的结果集?不,我没有办法做到这一点。对于你的例子,你可以简单地运行该过程并从temp中选择修改后的数据。表 - 数据会随着会话的进行而变化,因此您可能会滥用这种方式来交换数据。但是要意识到这是一个非常糟糕的设计,并且您可能想要做的大部分数据操作都可以在不写入/更新表中的数据的情况下完成。您在这里选择的方式是表现最差的方法。 –
不,我不想从普通的SQL读取输出参数。我需要在另一个过程的主体中调用此过程,并处理它返回的内容。但我不知道如何处理表格类型的输出。如果它是一个标量输出参数,我可以简单地为它声明一个变量,但我无法弄清楚用于表格输出参数的数据结构。 – Amiga500