表函数或存储过程时加入HANA计算器查看预留位置使用

问题描述 投票:0回答:1

HANA版本:SP12

所有,

我已经成功地创建Calc的意见与INPUT_PARAMETERS在许多博客和论坛由拉尔斯描述。虽然这些观点直接用于单级和多输入查询时没有问题的工作,我现在遇到的问题与执行上的计算器查看自己加入一个存储过程或表函数中。

例:

“BASE_SCHEMA” “BASE_TABLE_EXAMPLE” - 记录COUNT(*)〜200万条记录

  • 键:材料(20K不同),植物(200不同)

“_SYS_BIC”。 “CA_EXAMPLE_PRODUCTIVITY”

  • 输入参数:IP_MATNR(为nvarchar(5000)),IP_PLANT(为nvarchar(5000))

问题1:对于nvarchar的最大值为5000。无法在参数内利用多个输入,如果明显不同的字符计数是5000+。

问题2:如何使用占位符逻辑在SQL执行INNER_JOIN的相同的方法。

base_data = 

  select 
  PLANT
 ,MATERIAL

 from "BASE_SCHEMA"."BASE_TABLE_EXAMPLE"
 group by PLANT,MATERIAL; 

我想执行以下但为nvarchar(5000)的输入参数中使用串联多个字符串时,输出会导致问题。

select

string_agg(PLANT,''',''') as PLANT
,string_agg(MATERIAL,''',''') as MATERIAL
into var_PLANT, var_MATERIAL

from
(
   select

   PLANT
   ,MATERIAL

   from :base_data
);

虽然我成功了这一点,一旦添加变量到计算器查看的占位符,它没有指出我路过太多字符的IP。有什么建议么???提前致谢。

base_calc =

  select

  PLANT
  ,MATERIAL
  ,MATERIAL_BU
  ,etc....

  from "_SYS_BIC"."CA_EXAMPLE_PRODUCTIVITY"

  (PLACEHOLDER."IP_MATNR"=> :var_MATERIAL,  --<---Fails here. :(
   PLACEHOLDER."IP_PLANT"=> :var_PLANT);

问题在SAP SCN提高。位于here

database analytics hana hana-sql-script
1个回答
0
投票

你有没有试过用WHERE子句来代替占位符?

base_calc =

select

PLANT,
MATERIAL,
MATERIAL_BU,
etc....

from "_SYS_BIC"."CA_EXAMPLE_PRODUCTIVITY"

WHERE MATERIAL = var_MATERIAL AND PLANT = var_PLANT;
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.