带动态占位符的SAP HANA SQL查询

时间:2018-04-02 17:22:31

标签: hana

我有一个查询,它将当前年份作为占位符参数传递,现在硬编码。我如何才能通过当年?我已经看到了一些不同的潜在解决方案,但大多数都在HANA Studio中或涉及动态SQL生成。

我将SQL放入Tableau中,因此这些都不在桌面上。

...sum("StockInQualityInspection") as in_quality,
         sum("StockInTransit") as its
  from "_SYS_BIC"."stream.models.marketing.poly/InventoryQuery" ('PLACEHOLDER' = ('$$IPCurrentYear$$', '2018'))
  where "StockValuatedUnrestrictedUse" <> 0 or "StockInQualityInspection" <> 0 or "StockInTransit" <> 0
  group by case when "ReceivingPlant" is null then "Plant" else "ReceivingPlant" end, 
           case.... 

2 个答案:

答案 0 :(得分:0)

  • 删除简历的参数输入
  • 添加此表达式:year(now())

如果您无权操纵CV,请在查询中使用:

  • ('PLACEHOLDER'=(''$$ IPCurrentYear $$',从DUMMY中选择year(now()))

致谢

答案 1 :(得分:0)

虽然不允许放置查询,但您可以传递如下参数

 do begin
  declare lv_param nvarchar(100);
  select max('some_date')
    into lv_param
  from dummy /*your_table*/;
  
  select *
  from "_SYS_BIC"."path.to.your.view/CV_TEST" (
    PLACEHOLDER."$$P_DUMMY$$" => :lv_param
  );
end;

可以找到更多here 归功于@astentx