将数据库过程的结果存储在SAP HANA中的变量中

2020-09-02 14:59发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我该如何存储过程的结果,即具有多列的表,该变量的结果与调用过程时的结果具有相同的表类型,就像在普通函数中一样?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我该如何存储过程的结果,即具有多列的表,该变量的结果与调用过程时的结果具有相同的表类型,就像在普通函数中一样?

付费偷看设置
发送
1条回答
zhangjiyang1323
1楼-- · 2020-09-02 15:22

Vishal,

有两种方法:

首先在过程中使用表类型的" out参数",然后在下面的anon块中将这个" out参数"捕获到表变量中并选择它:

开始

 DECLARE lt_table <表参考>;  -创建表变量以存储结果
 呼叫<过程名称>(lt_table);  -将此表变量传递给过程
 选择* FROM:lt_table;  -从表变量中选择

 END; 

第二,在过程定义中使用WITH RESULT VIEW选项(来自帮助文件的代码),只需为您的方案找出表类型:

创建过程ProcWithResultView(IN ID INT,OUT O1客户)
 语言SQLSCRIPT
 使用结果视图ProcView AS读取SQL数据
 开始
 o1 = SELECT *从CUST_ID =:id的客户那里
 结束;

 然后,您可以通过引用结果视图名称" ProcView"来调用它
 选择*从ProcView(PLACEHOLDER。" $$ id $$" =>'5');
 

希望这会有所帮助-编码愉快。

亲切的问候,

一周热门 更多>