存储过程中的动态SQL ALTER PARTITION

2020-09-09 14:39发布

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

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


我们创建了多个存储表,并且希望每季度将分区从内存移动到磁盘。

DLM不适用于多存储表,因此我们编写了一个存储过程以将分区移动到磁盘。

为此,我们在存储过程中为alter语句编写了一个动态sql。

我的alter statement代码如下所示

alter_stmnt:='ALTER TABLE" SCHEMA"。" TABLE1" ALTER PARTITION(" DATE")使用扩展存储'||:patirion_range;

-运行alter语句

EXEC alter_stmnt;

:patirion_range的值为('2017-07-01'<= VALUES <'2018-01-01')

运行存储过程时,出现以下错误

事务因内部错误而回滚:内部错误:无法将数据复制到扩展存储:无法找到锚点

我在几个博客上看到,我们可以在存储过程中编写DDL。 但是不确定为什么我会看到此错误?

在存储过程中使用alter语句时,我会丢失任何内容吗?

任何人都写了任何SP来将分区移动到磁盘上,如果可以,请您共享代码?

谢谢

Srini

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

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


我们创建了多个存储表,并且希望每季度将分区从内存移动到磁盘。

DLM不适用于多存储表,因此我们编写了一个存储过程以将分区移动到磁盘。

为此,我们在存储过程中为alter语句编写了一个动态sql。

我的alter statement代码如下所示

alter_stmnt:='ALTER TABLE" SCHEMA"。" TABLE1" ALTER PARTITION(" DATE")使用扩展存储'||:patirion_range;

-运行alter语句

EXEC alter_stmnt;

:patirion_range的值为('2017-07-01'<= VALUES <'2018-01-01')

运行存储过程时,出现以下错误

事务因内部错误而回滚:内部错误:无法将数据复制到扩展存储:无法找到锚点

我在几个博客上看到,我们可以在存储过程中编写DDL。 但是不确定为什么我会看到此错误?

在存储过程中使用alter语句时,我会丢失任何内容吗?

任何人都写了任何SP来将分区移动到磁盘上,如果可以,请您共享代码?

谢谢

Srini

付费偷看设置
发送
3条回答
路亽曱_Ryan
1楼-- · 2020-09-09 15:25

您好,斯里尼瓦斯,

对于动态DDL语句遇到的错误,我没有任何答案,但是关于DLM,我确实有个好消息。 DLM的最新版本(SAPHDW02_2-81002771.ZIP)确实包括对多存储表的支持。 不幸的是,针对多存储表的文档尚未完成,但是配置遵循与扩展节点的DLM配置相同的模式。 由于该文档尚未准备好于12月发行,因此当时未突出显示多存储表支持。 该文档计划包含在2018年第二季度的下一个Data Warehouse Foundation版本中。

闻人可可
2楼-- · 2020-09-09 15:15

在最新版本的DT中已解决此问题。

亦是此间程序员
3楼-- · 2020-09-09 15:25

Hi Srinivas,

更新的文档有望在5月底之前提供。

一周热门 更多>