回滚事务和存储过程

2020-09-13 13:05发布

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

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


嗨。 是否有其他人注意到(或者我是错的)HANA事务无法回滚创建和删除存储过程。 例。 如果创建一个存储过程并将其命名为" MyProcedure" 然后在HANA Studio的控制台中运行以下SQL: 设置交易; 删除过程" MyProcedure"; 回滚 我会想到,运行此程序之后,该过程应该仍然存在,但事实并非如此……Bug或我做错了什么?

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

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


嗨。 是否有其他人注意到(或者我是错的)HANA事务无法回滚创建和删除存储过程。 例。 如果创建一个存储过程并将其命名为" MyProcedure" 然后在HANA Studio的控制台中运行以下SQL: 设置交易; 删除过程" MyProcedure"; 回滚 我会想到,运行此程序之后,该过程应该仍然存在,但事实并非如此……Bug或我做错了什么?

付费偷看设置
发送
3条回答
wang628962
1楼-- · 2020-09-13 13:12

你好拉斯穆斯,

所有DDL语句(Create,Drop等)都是防回滚的,我的意思是您不能针对已触发的DDL语句进行回滚,因为成功的DDL语句后会自动触发隐式提交。

几乎所有数据库供应商都一样。(PostgreSQL除外)

当学会了学习
2楼-- · 2020-09-13 13:34

实际上这是不正确的。 在HANA中,它取决于会话属性(在下面回答),例如,在SQL Server中,仅对一些对象类型有限制,例如数据库,全文本索引等。

zhangjiyang1323
3楼-- · 2020-09-13 13:33

Hi Rasmus ,

也许我正在恢复旧线程,但是如果有人落在这里:默认情况下,HANA服务器隐式提交所有DDL语句:ALTER/DROP/CREATE TABLE/PROCEDURE等。要更改此行为,可以使用会话属性" TRANSACTION AUTOCOMMIT DDL"。 如果将其设置为OFF,则可以自己处理这些事务。 有关更多信息,请参见 SAP帮助

一周热门 更多>