HANA函数替换为Oracle语法"以。。。先连接。。"

2020-08-17 04:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在进行Hana建模时,我遇到了O...

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

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


在进行Hana建模时,我遇到了Oracle语法"以...开头...先于...连接。"。但是Hana不支持此分层查询,我不知道要解决此问题,您之前遇到过此问题吗? ?请与我联系

6条回答
lukcy2020
2020-08-17 05:14

最后,我写了一个程序,这是我的答案

创建过程" HANA"。" HIERARCHICAL_AREACL_PRO"
 (
     SYMBOL NVARCHAR(10),-连接符号
     B_NODE NVARCHAR(10)-起始节点
   
 )
    
     语言SQLSCRIPT
     SQL安全调用者
 开始
     DECLARE STR NVARCHAR(200):='';
     DECLARE COTS INTEGER:= 1;
 从" HANA"中删除。" PARENT_SON_TREE_TEMP";
 从" HANA"中删除。" PARENT_SON_TREE_TEMP2";
 插入" HANA"。" PARENT_SON_TREE_TEMP"
 选择PK_FATHERAREA AS P_NODE,选择PK_AREACL AS NODE,:B_NODE || SYMBOL || NAME AS STR
 来自YOUR_TABLE
 在哪里PK_FATHERAREA(从您的表中选择PK_AREACL哪里PK_FATHERAREA =:B_NODE);
 从" HANA"中选择COUNT(*)转换为婴儿床。" PARENT_SON_TREE_TEMP"节点不为空;
 当成本<< 0时
 从" HANA"中删除。" PARENT_SON_TREE_TEMP2" A
 存在的位置(SELECT A. *从" HANA"。" PARENT_SON_TREE_TEMP2" AS C
 左加入YOUR_TABLE B
 开C.NODE = B.PK_FATHERAREA
 在哪里B.PK_FATHERAREA不为空
 AND A.NODE = C.NODE);
 INSERT INTO" HANA"。" PARENT_SON_TREE_TEMP2" SELECT * FROM" HANA"。" PARENT_SON_TREE_TEMP";
 从" HANA"中删除。" PARENT_SON_TREE_TEMP";
 插入" HANA"。" PARENT_SON_TREE_TEMP"
 选择
 A.NODE AS P_NODE,
 B.PK_AREACL AS NODE,
 A.STR || SYMBOL || IFNULL(B.NAME,'')AS STR
 来自" HANA"。" PARENT_SON_TREE_TEMP2" A
 左加入YOUR_TABLE B
 开启A.NODE = B.PK_FATHERAREA
 其中B.PK_AREACL不为NULL;
 从" HANA"中选择COUNT(*)转换为婴儿床。" PARENT_SON_TREE_TEMP"节点不为空;
 结束时;
 从" HANA"删除。" HIERARCHICAL_AREACL";
 插入" HANA"。" HIERARCHICAL_AREACL"
 从" HANA"中选择结果,选择NODE,RTRIM(STR,:SYMBOL)。" PARENT_SON_TREE_TEMP2";
 END; 

一周热门 更多>