php - 我应该在哪里提交事务——在存储过程中还是在调用应用程序代码中?

标签 php oracle stored-procedures transactions

我正在使用 PHP + Oracle,想知道是否有任何关于在何处提交我的事务的建议。我调用存储过程来执行所有插入/更新/删除操作,目前正在我的存储过程结束时提交。

我在想:

  1. 有区别吗 在我存储的调用提交/回滚 过程与调用 oci_commit/ oci_rollback 在我的 PHP 代码中基于 存储过程成功 打电话。

  2. 哪个更好?起初 我在想存储 程序本身,但现在我 想知道,如果没有区别, 也许它会给我更多 灵活地投入调用 应用程序代码,因为我可以调用 几个存储过程在一个 单笔交易而不是 不得不写新的存储 每次我要的程序 混合/匹配各种 SQL 单个事务中的语句。

想法?

最佳答案

鉴于您给出的理由,我绝对同意选项 2。将每个存储过程作为一个单独的事务有时会限制太多。 Tom Kyte 也支持选项 2:参见 this AskTom thread例如。

关于php - 我应该在哪里提交事务——在存储过程中还是在调用应用程序代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2162629/

相关文章:

sql - 使用递归查询的存储过程

php - 使用 Laravel 实现存储库模式

javascript - 数组合并和Json编码

php - 如何每23小时隐藏PHP页面中的Mysql记录?

java.sql.SQLException 关闭语句

variables - Db2 - 如何在 db2 中使用 EXECUTE 语句为变量赋值

php - MySQL Select - 将 COUNT 与 GROUP_CONCAT 组合

oracle - 从 C++ 程序运行查询比从 SQL Plus 运行时要长 4800 倍

java - 如何从 IntelliJ IDEA 14 连接到 Oracle 数据库?

java - 存储过程未在 jsp 中显示结果