HANA NSE-无法使用过程SP04更改分区加载单元

2020-08-23 09:25发布

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

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


因此,我正在尝试编写一个过程,将非分区表转换为带分区的NSE(本地存储扩展)表。 但是,如果我在尝试将分区的加载单位更改为PAGE或COLUMN时,以相同的步骤将表转换为NSE并添加分区,则会收到此错误:

列存储错误:无法在分区级别更改加载单位[30]此配置不支持更改加载单位

是否有一种方法可以在单个过程中实现?

此过程的简化版本:

创建过程" CATANAME"。" NSE2"
 语言SQLSCRIPT AS
 开始

 exec'ALTER TABLE CATANAME.TABLENAME分区按范围(ID_RENGECOL)
     (((分区2016010100000000 <=值<2017010100000000,
     分区2017010100000000 <=值<2018010100000000,
     分区2018010100000000 <=值<2019010100000000,
     --PARTITION 2019010100000000 <=值<2020010100000000,
      分区其他));';

 --- !! 这是失败的!
 exec'ALTER TABLE CATANAME.TABLENAME alter partition RANGE(ID_RENGECOL)((PARTITION 2017010100000000 <= VALUES <2018010100000000))PAGE LOADABLE';

 END; 

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

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


因此,我正在尝试编写一个过程,将非分区表转换为带分区的NSE(本地存储扩展)表。 但是,如果我在尝试将分区的加载单位更改为PAGE或COLUMN时,以相同的步骤将表转换为NSE并添加分区,则会收到此错误:

列存储错误:无法在分区级别更改加载单位[30]此配置不支持更改加载单位

是否有一种方法可以在单个过程中实现?

此过程的简化版本:

创建过程" CATANAME"。" NSE2"
 语言SQLSCRIPT AS
 开始

 exec'ALTER TABLE CATANAME.TABLENAME分区按范围(ID_RENGECOL)
     (((分区2016010100000000 <=值<2017010100000000,
     分区2017010100000000 <=值<2018010100000000,
     分区2018010100000000 <=值<2019010100000000,
     --PARTITION 2019010100000000 <=值<2020010100000000,
      分区其他));';

 --- !! 这是失败的!
 exec'ALTER TABLE CATANAME.TABLENAME alter partition RANGE(ID_RENGECOL)((PARTITION 2017010100000000 <= VALUES <2018010100000000))PAGE LOADABLE';

 END; 
付费偷看设置
发送
1条回答
haha101010
1楼-- · 2020-08-23 09:50

嗨,

SQLScript过程中的语句通常在自动提交DDL关闭模式下运行。 而将分区或表转换为NSE则需要在模式下自动提交DDL。 因此,错误。

启动HANA 2 SP04修订版46,将更新错误消息以反映此情况。

作为一种解决方法,您可以尝试使用HANA 2 SP04引入的新SQLScript语法,该语法允许语句以自动提交DDL模式运行。

创建[或替换]过程 [()] [LANGUAGE ]
  [SQL安全性<模式>] [默认模式<默认模式名称>]
  [读取SQL数据] [带有加密] [自动提交DDL ON | OFF]为
  开始[顺序执行]
    
  END 

https://help.sap.com/查看器/de2486ee947e43e684d39702027f8a94/2.0.04/zh-CN/7a2da744ce544db1814a5fff250e99f6.html

谢谢

苏维克

一周热门 更多>