oracle中执行存储过程后是否会发生自动提交?

2023-11-24

我在oracle DB中有3个表。我正在编写一个程序来根据某些条件删除所有 3 个表中的一些行。

我在程序中一一使用了所有三个删除语句。在执行上述存储过程时,执行时是否发生自动提交?

否则,我是否需要在最后手动编码提交?


数据库级别没有自动提交,但您使用的 API 可能具有自动提交功能。来自汤姆·凯特.

话虽如此,我想补充一点:

除非您正在进行自主事务,否则您应该避免直接在过程中提交:来自汤姆·凯特.

Excerpt:

我希望 PLSQL 不支持提交/回滚。我坚信 事务控制必须在最顶层的调用者级别完成。那 是获取这 N 个存储过程并将它们绑定的唯一方法 一起在交易中。

此外,还应该注意的是,对于 DDL(根据您的问题,听起来您并没有在过程中执行任何 DDL,但只是将其列为潜在的陷阱),Oracle 在数据定义语言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle中执行存储过程后是否会发生自动提交? 的相关文章

  • 如何动态创建表数据类型的变量?

    在以下查询中 select string 可以返回具有任何可能数据类型的任意数量的列和行 Execute immediate select string into v table variable 例如 select string 可以是
  • 在仅具有两种类型值的列上创建索引有多有效

    我在列上创建了一个索引 该列只有两个可能的值 Y 和 N 两个值的数据类型相同 假设列名称是指示符 我写了一个选择语句 例如 SELECT INDICATOR FROM TEMP TABLE ORDER BY INDICATOR 当我在 S
  • Laravel 无法连接 Oracle

    我在用着耶吉拉 laravel oci8 https github com yajra laravel oci8用于 Oracle 与 Laravel 的连接 但我无法从客户端 PC 连接到 Oracle 服务器 showing this
  • Oracle PLSQL 将日期时间截断为 15 分钟块

    我想将我的数据聚合成 15 分钟的片段 一刻钟 为此 我编写了一些生成 15 分钟日期时间块的代码 SELECT TRUNC SYSDATE hh 0 25 24 ROWNUM 0 25 24 AS time start ROWNUM TR
  • Oracle 时间戳数据类型

    不带参数的时间戳数据类型和带参数 0 的时间戳数据类型有什么不同 timestamp VS timestamp 0 括号中的数字指定要存储的小数秒的精度 所以 0 意味着不存储任何一小部分秒 而仅使用整秒 如果未指定 则默认值为小数点分隔符
  • 浏览多个字段的值并将它们插入到同一列中

    我正在尝试使用重复行为我的 oracle apex 应用程序创建一个功能 假设我有一个车辆表 CREATE TABLE vehicles brand VARCHAR2 50 model VARCHAR2 50 comment VARCHAR
  • Oracle中表的列重新排序

    我有一个包含 50 多列的表 我需要交换前两列的顺序 使用 Oracle 实现此目的的最佳方法是什么 假设表名是 ORDERDETAILS 前两列是 ITEM ID 和 ORDER ID 重命名完成后 表名仍应为 ORDERDETAILS
  • Oracle Developer Tools for Visual Studio 2019 无法正确安装

    在 VS 2019 中 ODT 使用扩展名安装 而不是像以前的版本那样作为安装文件安装 因此 从 VS 2017 升级的 EF 6 使用的 MVC 项目 edmx 文件在扩展安装后不显示数据库图表 空白黑页 编辑 xml 选项等 仅此而已
  • ORACLE 在立即执行中批处理 DDL 语句

    我正在尝试在一个 Execute Immediate 语句中运行多个 ddl 语句 我认为这会很简单 但看来我错了 想法是这样的 declare v cnt number begin select count into v cnt from
  • 如何从oracle存储过程中提取out变量?

    我有存储过程 其中有很多输出变量 所以我这样调用存储过程 export const infoHR3 async gt try const sql Declare ln order qty NUMBER ln in proc qty hr N
  • DBMS_SCHEDULER.DROP_JOB 仅当存在时

    我有一个 sql 脚本 在导入转储后必须运行该脚本 该脚本除了执行其他操作外 还执行以下操作 BEGIN remove program SYS DBMS SCHEDULER DROP PROGRAM program name gt STAT
  • 如何在oracle中获取表作为输出参数

    我正在尝试将 Oracle 过程调用的 out 参数强制转换为对象 它不起作用 因为 据我了解 我需要定义一个映射 它告诉方法如何转换它 如果地图为空或未正确填充 则它默认为 STRUCT 类型的对象 在我的情况下这是错误的 我已经构建了一
  • 如何使用 JSON_TABLE 从 Oracle JSON 列获取键值作为结果集

    我用谷歌搜索了很多 似乎无法找到适合我的简单用例的简单解决方案 我在 Oracle 12C 数据库中有一个 json 列 当然实际上是一个带有 json 约束的 varchar 在该列中我存储了这样的 Map 表示 a 9 0847 b 8
  • sql server GO 相当于 oracle

    我正在为 Oracle 编写迁移脚本 我需要更改表结构 然后用数据填充它 我想先进行结构更改 然后再进行数据更改 在 SQL Server 中我会使用GO分离批次 是否有 SQL ServerGOOracle 中的等效命令 It s and
  • 是否允许在流水线 PL/SQL 表函数中使用 SELECT?

    管道函数的文档指出 在 SQL 语句 通常是SELECT 并且在大多数示例中 管道函数用于数据生成或转换 接受客户作为参数 但不发出任何 DML 语句 现在 从技术上讲 可以使用 SELECT 而不会出现 Oracle 中的任何错误 ORA
  • Oracle 数据库 12c 尝试连​​接时出错:网络适配器无法建立连接

    我第一次安装Oracle数据库12c 我正确地遵循了所有步骤并将其安装在 Windows 7 64 位上 但是当我单击 SQL Developer 并尝试创建新连接时 我输入了用户名和密码等信息 最后单击 测试 按钮 我得到了这个错误消息
  • Oracle:如果表存在

    我正在为 Oracle 数据库编写一些迁移脚本 并希望 Oracle 有类似于 MySQL 的东西IF EXISTS构造 具体来说 每当我想删除 MySQL 中的表时 我都会执行类似的操作 DROP TABLE IF EXISTS tabl
  • IO 错误:从读取调用中得到负一

    我的时间和想法都快用完了 我需要使用 Java 和 Oracle 数据库模拟预订整架飞机 我们有一些关于如何执行此操作以及预期内容的说明 但我们的代码始终出现这种非常奇怪和意外的行为 数据库看起来像这样 我们需要有一个不断运行的线程池来模拟
  • 当我输入 dateadd 或 datediff 代码时,我总是收到此错误“ORA-00904“DATEADD”无效标识符。”

    我有一个大学项目 并且有一个包含入院和出院日期属性的患者表 我需要删除超过 7 年的记录 我使用了以下代码 delete from patient where dis date gt datedadd yy 7 getdate 我收到错误
  • PLSQL 中的时区转换

    我需要将系统日期和时间转换为特定时区 例如东部时间 我无法假设我当前的时区 如何在plsql中转换它 请帮我 假设你有一个TIMESTAMP WITH TIME ZONE 例如systimestamp 您可以使用AT TIME ZONE句法

随机推荐

  • 当时仅打开一扇平开窗

    我开发了一个 Swing 应用程序 但每次运行应用程序时都会打开新窗口 我希望如果一个窗口已打开 则其他窗口不允许打开 Here是一个例子Java单个应用程序实例 单实例应用程序是一种无论用户尝试启动多少次都只允许运行 1 个应用程序的应用
  • event.preventDefault() 函数在 IE 中不起作用

    以下是我的 JavaScript mootools 代码 orderNowForm addEvent submit function event event preventDefault allFilled false required e
  • 如何通过 Eclipse 插件使用 Java 11 (Java 10)?

    如果我在 Eclipse 插件中指定 JavaSE 10 作为最低执行环境 当我的插件作为 Eclipse 应用程序启动时 出现以下错误 org osgi framework BundleException Could not resolv
  • 先有鸡还是先有蛋的问题:文件的哈希值(包括文件内的哈希值)!可能的?

    问题是我有一个有元数据空间的文件 我想在其中存储用于完整性验证的哈希值 问题是 一旦我存储了哈希值 文件和哈希值就会随之改变 我完全理解 根据定义 使用 md5 sha 等单向加密哈希方法是不可能的 我还意识到容器可以像 zip co 那样
  • UseShellExecute=false 时无法提升权限

    我想启动一个具有提升权限但具有隐藏窗口的子进程 实际上是相同的控制台应用程序 我接下来做 var info new ProcessStartInfo Assembly GetEntryAssembly Location UseShellEx
  • 如何从文件中读取特定格式的数据?

    我应该从类似于此格式的文件中读取输入和参数 Add id 324 name john name2 doe num1 2009 num2 5 num2 20 问题是我不允许使用 fgets 我尝试使用 fscanf 但不知道如何忽略 并分隔字
  • 无法调用“事件”命令:应用程序已被破坏

    因此 我今天正在调试一些代码 并注意到输出中出现一条新消息 can t invoke event command application has been destroyed while executing event generate w
  • 键盘辞职降低了弹出窗口的高度

    我在 ios 4 3 上遇到了一个奇怪的问题 我的一个屏幕处于横向模式 单击按钮会出现一个弹出窗口 我的弹出窗口有一个搜索栏 每当键盘出现时 它会自动将我的弹出窗口向上推 当我退出键盘时 弹出窗口的高度减小 这只是 ios 4 3 上的问题
  • C++ 类中的函数指针表

    我正在尝试在类中创建一个函数指针表 我在网上找不到任何这样的例子 大多数都涉及在类之外使用成员函数指针 例如 class Test typedef void Test FunctionType FunctionType table 0x10
  • 我可以覆盖 inline !important 吗?

    如果你有 div style display none important div 有没有办法覆盖样式表中的样式以使其显示 最好使用与此类似的东西 div display block important 首先我要说的是一般是内联样式can被
  • std::string 运算符 + 与 stringstream 的性能[重复]

    这个问题在这里已经有答案了 我正在将旧的代码库从使用字符串的自定义实现迁移到使用 std string 我们的一位工程师担心这可能会导致性能问题 因为我们使用 和 来连接相对较长的字符串 他特别关心的是当字符串动态增长时如何分配内存 他建议
  • 背景图片有理想的尺寸吗?

    例如 1x1 图像加载速度会比 2x2 图像加载速度更快吗 尺寸会更小 但浏览器的工作量必须是原来的两倍 对吧 那么 背景图像是否有理想的尺寸和形状 正方形与矩形 我知道这可能不太重要 但我有兴趣知道 谢谢 我认为您的图像没有 理想 尺寸
  • Telerik 控件布局问题 - Visual Studio 2013

    我最近在我的计算机上安装了 Visual Studio 2013 和 2012 我们有几个使用 Telerik 控件的 Web 应用程序 ASP NET 和 MVC 今天 我注意到手风琴控件 扩展器 已完全展开 其中的内容一个又一个地堆叠在
  • [] 和 {} 与 list() 和 dict() 相比,哪个更好? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我知道它们本质上是同一件事 但就风格而言 哪一个用于创建空列表或字典更好 更Pythonic 就速度而言 它与空列表 字典没有竞争 gt gt gt from timeit import
  • Python BigQueryallowLargeResults 与 pandas.io.gbq

    我想使用用于读取 BigQuery 的 Pandas 库数据 如何允许较大的结果 对于非 Pandas BigQuery 交互 可以这样实现this Pandas 的当前代码 sProjectID project id sQuery SEL
  • 使用 ASP.Net 实现多语言网站

    我正在使用 ASP Net 实现一个多语言网站 语言为英语 法语和阿拉伯语 请注意 阿拉伯语的方向是 RTL 实施多语言支持的最佳方式是什么 我计划使用 Net 本地化功能 但网站文本存储在数据库中 对于控件 表单控件 我可以使用 resx
  • 跟踪栏仅在最终值上触发事件,而不会在时间值发生变化时触发事件

    我正在开发一个非常基本的 C Visual Studio 表单应用程序 但在让轨迹栏按照我想要的方式运行时遇到一些问题 因此希望社区中的某个人可以为此提供解决方案 我所拥有的是一个非常基本的应用程序 主要部分是一个值为 0 到 100 的轨
  • 解释 GetKeyState / GetCursorPos 的错误

    有时我会收到客户的错误报告 但我无法解释 在 Delphi 中的 Application Run 之后 我收到以下错误 EOSError System error Code 5 Access denied Call Stack Inform
  • 查找已排序数组中不重复的元素

    资料来源 微软面试问题 是的 您可以使用排序来降低复杂性O log n 通过二分查找 由于数组已排序 因此在缺失元素之前 每个值都占据位置2 k and 2 k 1在数组中 假设从 0 开始索引 所以你转到数组的中间 比如索引h 并检查任一
  • oracle中执行存储过程后是否会发生自动提交?

    我在oracle DB中有3个表 我正在编写一个程序来根据某些条件删除所有 3 个表中的一些行 我在程序中一一使用了所有三个删除语句 在执行上述存储过程时 执行时是否发生自动提交 否则 我是否需要在最后手动编码提交 数据库级别没有自动提交