云数据库 GAUSSDB-SAVEPOINT:注意事项

时间:2024-01-23 20:08:46

注意事项

  • 使用ROLLBACK TO SAVEPOINT回滚到一个保存点。使用RELEASE SAVEPOINT删除一个保存点,但是保留该保存点建立后执行的命令的效果。
  • 保存点只能在一个事务块里面建立。在一个事务里面可以定义多个保存点。
  • 函数、匿名块和存储过程中不支持使用SAVEPOINT语法。
  • 由于节点故障或者通信故障引起的分布式节点线程或进程退出导致的报错,以及由于COPY FROM操作中源数据与目标表的表结构不一致导致的报错,均不能正常回滚到保存点之前,而是整个事务回滚。
  • SQL标准要求,使用savepoint建立一个同名保存点时,需要自动删除前面那个同名保存点。在 GaussDB 数据库里,我们将保留旧的保存点,但是在回滚或者释放的时候,只使用最近的那个。释放了新的保存点将导致旧的再次成为ROLLBACK TO SAVEPOINT和RELEASE SAVEPOINT可以访问的保存点。除此之外,SAVEPOINT是完全符合SQL标准的。
support.huaweicloud.com/devg-v1-gaussdb/gaussdb_devg_0632.html