如何为查询的输出运行0的for循环(SAP HANA SP12)

2020-09-16 06:59发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我必须运行一个从0到一个数字的f...

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

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


我必须运行一个从0到一个数字的for循环(这是我在表上执行count(*)得到的)。

这是我的代码以及出现的错误:

错误:

无法执行'ALTER PROCEDURE HADMIN.PROC_PH_CSR_CURR_STOCK()语言SQLSCRIPT SQL安全调用者默认...'SAP DBTech JDBC:[1310]:不允许使用标量类型:V_CNT:第138列第1列(位于pos 4829)

代码:

 v_cnt =从:t_rst;中选择count(*);

 截断表HADMIN.PH_SUM_CSR_CURR_STOCK;

 对于X IN 0 .. v_cnt DO
 如果:X <= v_cnt然后
             继续;
         ELSEIF:X> v_cnt然后
             打破;
         其他
             计数:=计数+ 2500000;
         万一;
     结束于;

 插入HADMIN.PH_SUM_CSR_CURR_STOCK
 选择* FROM:t_rst LIMIT 2500000 OFFSET:count;
 承诺;
 结束;
 
2条回答
绿领巾童鞋
2020-09-16 07:36 .采纳回答

声明

从:t_rst;中选择count(*); 

如您所写,它期望将表变量作为结果变量,而不是标量变量(如消息所示)。

您可以按照以下说明进行纠正:

从:t_rst;选择count(*)到v_cnt; 

如果使用的是HANA系统版本> = HANA 2.0 SPS0,则可以使用函数" record_count",并避免使用select来确定计数。 如下所示:

对于X IN 0 .. record_count(:t_rst)DO
 ...
 END FOR; 

关于,
弗洛里安

一周热门 更多>