首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sybase Sybase:使用CodeIgniter回滚事务

Sybase Sybase:使用CodeIgniter回滚事务
EN

Stack Overflow用户
提问于 2018-11-06 14:10:46
回答 1查看 188关注 0票数 0

我正在使用SQL运行CodeIgniter 2(我有一个自定义类来处理与handle的连接)。

我对包含许多查询的事务有问题。其中之一是引发错误(在试图更新表时由触发器返回):在这种情况下,我希望在处理结束时回滚事务,如下所示。

代码语言:javascript
复制
$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...'); //This raises an error
$this->db->trans_complete(); //A rollback is done, and should cancel the first query

我试图改变以下选项:

  • 链式=>断开
  • continue_after_raiserror => On
  • on_tsql_error =>继续

奇怪的是,我正在记录我的查询:在Interactive中手动执行它们很好!似乎引发的错误破坏了事务。

有人能帮我吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-11-13 14:22:45

最后,我找到了解决方案:我们只需要使用SAP的DLL (http://dcx.sap.com/index.html#sa160/en/dbprogramming/php-support.html)提供的一些功能。

  • 开始交易时: sasql_set_option($this->conn_id,'auto_commit',0);
  • 最后,如果您需要提交: sasql_commit($conn_id);
  • 如果您需要回滚: sasql_rollback($conn_id);sasql_set_option($conn_id,'auto_commit',1);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53173610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档