HANA存储过程合并分区错误

2020-09-19 13:00发布

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

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


大家好,

当我尝试进行合并分区时,存储过程中出现一个奇怪的错误,但是从hana studio sql控制台执行操作时不会遇到相同的错误,我们非常感谢您的帮助。 非常感谢

从sql控制台

语句"更改表DMF.TEST2合并分区"已成功在290 ms 952 µs(服务器处理时间:289 ms 473 µs)中成功执行-受影响的行:0

从存储过程

第22行第1行(在pos 1560处):[129](范围3):事务因内部错误而回滚:列存储错误:无法更改分区:[2999]常规错误(无更多可用信息); replayLog:无法为在单独的事务中尚不可见的表创建增量;合并零件的增量索引时出错。 java.sql.SQLWarning:不建议使用的功能:在动态SQL中使用DDL语句(当前dynamic_sql_ddl_error_level = 1)

我在存储过程中的语法

exec'alter table'|| :p_schema_name || '.TEST2删除主键'; --exec'更改表'|| :p_schema_name || '.TEST2合并分区'; exec('alter table'||:p_schema_name ||'.TEST2合并分区');

任何想法??,谢谢

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

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


大家好,

当我尝试进行合并分区时,存储过程中出现一个奇怪的错误,但是从hana studio sql控制台执行操作时不会遇到相同的错误,我们非常感谢您的帮助。 非常感谢

从sql控制台

语句"更改表DMF.TEST2合并分区"已成功在290 ms 952 µs(服务器处理时间:289 ms 473 µs)中成功执行-受影响的行:0

从存储过程

第22行第1行(在pos 1560处):[129](范围3):事务因内部错误而回滚:列存储错误:无法更改分区:[2999]常规错误(无更多可用信息); replayLog:无法为在单独的事务中尚不可见的表创建增量;合并零件的增量索引时出错。 java.sql.SQLWarning:不建议使用的功能:在动态SQL中使用DDL语句(当前dynamic_sql_ddl_error_level = 1)

我在存储过程中的语法

exec'alter table'|| :p_schema_name || '.TEST2删除主键'; --exec'更改表'|| :p_schema_name || '.TEST2合并分区'; exec('alter table'||:p_schema_name ||'.TEST2合并分区');

任何想法??,谢谢

付费偷看设置
发送
4条回答
灬番茄
1楼-- · 2020-09-19 13:15

在我的HANA 1 SP12上,我无法重现日志重播问题。 至少不能与虚拟测试表一起使用。

警告消息

 java.sql.SQLWarning:不建议使用的功能:动态SQL中使用DDL语句(当前dynamic_sql_ddl_error_level = 1)

是"正常"的,因为具有默认参数设置的SAP HANA会警告不要在动态SQL中使用DDL。 但是,它不会停止命令执行,而实际上只是向用户提供反馈。 如警告消息中所示,您可以更改提到的参数来避免出现此警告消息。

Doze时光
2楼-- · 2020-09-19 13:29

感谢消息,是的,我不担心动态SQL中的DDL,但可以合并它 在存储过程中对我不起作用,并且我在HANA 1.00.122.09.1493036600和hana Studio版本中SAP HANA Studio版本:2.3.9

槿木_熙
3楼-- · 2020-09-19 13:14

Hi Lars,

一个问题,以下是我要在存储过程中执行的操作,我的意思是更改当前具有10个分区的哈希表的分区

exec('alter table'||:p_schema_name ||'.TEST drop primary key');

exec('alter table'||:p_schema_name ||'.FR_RDS_D_CST1合并分区');

exec('ALTER TABLE'||:p_schema_name ||'.TEST PARTITION BY''RANGE month(DATE1)201701,201702,201703,201704,201705,201706,201707,201708,201709,201710,201711,201712 ,201801,201802,201803,201804,201805,201806,201807,201808,201809,201810,201811,201812,201901,201902,201903,201904,201905,201906,201907,201908,201909,201910,201911,201912,* ";');

exec('MERGE DELTA OF'||:p_schema_name ||'.TEST');

奇怪的是,如果注释合并分区命令其余3条命令工作正常,并且在注释时按我的意愿将表重​​新分区

按``RANGE month(DATE1)2017-01,201702,201703,201704,201705,201706,201707,201708,201709,201710,201。 ....语法正确

执行合并分区

我的问题是

1)如果我想将分区从哈希值更改为范围以及分区数??,请合并分区吗?

2)就像合并分区和更改分区一样,语法又一个接一个吗?

谢谢

SC_Yao
4楼-- · 2020-09-19 13:32

我不好,这仅适用于没有数据的表,当表中有数据时,我遇到同样的问题,任何帮助都会受到赞赏,谢谢

一周热门 更多>