`
beamofsoul
  • 浏览: 9393 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用XA Transaction不能在存储过程中使用DDL语句

 
阅读更多
由于XA Transaction控制项目全局的事务过程,在业务中调用一个包含创建临时表的没有返回值的存储过程,其中不能避免的就是报错:不能在一个事务会话中进行COMMIT(指DDL的隐式或是显示COMMIT)。
此时应该删除存储过程中的COMMIT语句与DDL语句,而使用EXECUTE IMMEDIATE V_STR;动态操作并不会直接引起该错误,而往往在于其V_STR中存在隐式提交的指令,如:TRUNCATE TABLE TABLE_NAME;性能会有所提高,因为没有启用缓存数据回滚,但有些时候细节却是致命的。
分享到:
评论

相关推荐

    SQL语句语法

    - 会造成隐式提交的语句:如DDL语句。 - SAVEPOINT 和 ROLLBACK TO SAVEPOINT:设置保存点并在需要时回滚到保存点。 - LOCK TABLES 和 UNLOCK TABLES:锁定表以防止其他用户修改数据。 - SET TRANSACTION:设置事务...

    SQL常用 语句 语法 教程

    - 不能回滚的语句:某些操作一旦完成,无法撤销。 - 会造成隐式提交的语句:如DDL操作会自动提交当前事务。 - SAVEPOINT 和 ROLLBACK TO SAVEPOINT:设置保存点并回滚到特定点。 - LOCK TABLES 和 UNLOCK TABLES:...

    Oracle错误一览表

    这通常发生在试图使用过时或不兼容的DDL语句时,需要检查语法并使用正确的DDL命令。 #### ORA-00058: DB_BLOCK_SIZE does not match control file 当控制文件中指定的DB_BLOCK_SIZE值与数据文件中的实际块大小不...

    Oracle9i的init.ora参数中文说明

    说明: 在 SQL 语句中, 应避免使用繁琐的 NLS_SORT 进程。正常情况下, WHERE 子句中进行的比较是二进制的, 但语言比较则需要 NLSSORT 函数。可以使用 NLS_COMP 指定必须根据NLS_SORT 会话参数进行语言比较。 值范围:...

    oracle报错大全(珍藏版)

    在DDL语句中未指定模式名称时触发。这可能是因为DDL语句格式错误或逻辑错误。 #### ORA-00057: Error 未具体描述错误内容,可能是通用错误代码。 #### ORA-00058: DB_BLOCK_SIZE Parameter Mismatch 当实例参数DB_...

    网易分布式数据库平台.ppt

    3. **事务支持**:支持节点内的事务、跨节点事务以及跨DDB的分布式事务,遵循XA Transaction标准,保证ACID属性。 4. **通用SQL访问接口**:支持多平台和多语言环境下的SQL访问,可以与MySQL和Oracle混合使用。 5. *...

    网易分布式数据库平台PPT学习教案.pptx

    【网易分布式数据库平台PPT学习教案】主要介绍了网易公司的一款分布式数据库平台——DDB,它是一种针对结构化数据的高效存储解决方案,旨在解决大规模数据存储和高性能访问的问题。以下是该平台的关键知识点: 1. *...

Global site tag (gtag.js) - Google Analytics