看到吧里有人提到hana sql 和
Oracle
sql 的区别。 我是外行看不大懂。就按自己目前粗浅的理解, sap 为我们这些写不好sql的菜鸟准备了CE function. 模仿前人,我也上表 阐述sql 和CE function的联系与区别
以上四个基本函数主要干了一件事“select”。返回给变量var_tab后就可以做些 稍复杂的事。比如
CE_PROJECTION(:var_tab,[A,B,C],'"B"="value" AND "C"="value" ');
CE_AGGREGATION(:var_tab,SUM(D),[A,B,C]);
CE_JOIN(:var_tab1,:var_tab2,[KEY1,KEY2],[A,B,C,SUM(D)]);
类似还有 :CE_LEFT_OUT_JOIN等
CE_UNION_ALL(:var_tab1,:var_tab2); 纵向union
CE_VERTICAL_UNION(:var_tab1,:var_tab2); 横向union, 这里要注意排序。 附:前文“hana不是一个女孩”里提到hana不需汇总而提供实时汇总信息。 我推测应该是利用此功能实现。
CE_CALC("expression", string), 此函数注意一般在CE_PROJECTION可调用。在其他可能不允许编译报错。
以上是主要的CE funciton , 基本够用了。另外还有个超复杂的 CE_CONVERSION(......)还没用过没弄清楚。据说财务上会偶尔用用。代后续了解补充吧。
以上四个基本函数主要干了一件事“select”。返回给变量var_tab后就可以做些 稍复杂的事。比如
CE_PROJECTION(:var_tab,[A,B,C],'"B"="value" AND "C"="value" ');
CE_AGGREGATION(:var_tab,SUM(D),[A,B,C]);
CE_JOIN(:var_tab1,:var_tab2,[KEY1,KEY2],[A,B,C,SUM(D)]);
类似还有 :CE_LEFT_OUT_JOIN等
CE_UNION_ALL(:var_tab1,:var_tab2); 纵向union
CE_VERTICAL_UNION(:var_tab1,:var_tab2); 横向union, 这里要注意排序。 附:前文“hana不是一个女孩”里提到hana不需汇总而提供实时汇总信息。 我推测应该是利用此功能实现。
CE_CALC("expression", string), 此函数注意一般在CE_PROJECTION可调用。在其他可能不允许编译报错。
以上是主要的CE funciton , 基本够用了。另外还有个超复杂的 CE_CONVERSION(......)还没用过没弄清楚。据说财务上会偶尔用用。代后续了解补充吧。