DB2 中的 SQL Server 事务相当于什么?

2023-11-21

DB2 中的以下 SQL Server 语句等效于什么?

  • 开始交易
  • 提交交易
  • 回滚事务

答案实际上比这里指出的要复杂一些。确实,事务是 ANSI 标准化的,而 DB2may支持他们。

DB2 for z/OS 与其他变体(LUW、Linux-Unix-Windows,是最常见的)截然不同。冒着陷入咆哮的风险,这使得谈论 DB2 的想法几乎毫无意义。您正在谈论 IBM 数据库的某些特定变体,但在一个数据库中有效的内容在另一个数据库中可能完全无效。我会假设 OP 使用的任何风格都不是 z/OS 风格,因为BEGIN TRANSACTION答案被接受。

对于那些尝试在 DB2 z/OS 中使用事务时偶然发现这一点的人,以下是概要:用于大型机的 DB2 没有显式事务。没有BEGIN TRANSACTION或任何其他类似的构造。事务是隐式开始的(通常在文档中称为工作单元)并显式提交或回滚(通常,许多 GUI 工具,如 Toad,具有自动提交功能,有时可能会偷偷地发生)。

来自 9.1 z/OS SQL 参考手册(第 28 页;可在http://www-01.ibm.com/support/docview.wss?uid=swg27011656#manuals):

“当启动应用程序流程时,就会启动一个工作单元。一个工作单元 当前一个工作单元因其他原因结束时也会启动 申请流程结束。一个工作单元由提交操作结束, 完全回滚操作,或应用程序进程的结束。提交或回滚 操作仅影响其结束的工作单元内所做的数据库更改。”

编写脚本时最接近的事情就是手动指定保存点。

这些看起来像这样:

 SAVEPOINT A ON ROLLBACK RETAIN CURSORS;

 UPDATE MYTABLE SET MYCOL = 'VAL' WHERE 1;

 ROLLBACK WORK TO SAVEPOINT A;

从表面上看,这些类似于显式交易,但事实并非如此。相反,它们实际上只是单个隐式事务中的时间点。对于许多目的来说,它们可能就足够了,但重要的是要意识到概念上的差异。

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

DB2 中的 SQL Server 事务相当于什么? 的相关文章

  • 我可以将 SQL Server 安装在 USB 驱动器上吗?

    我是一名开发人员 如果可以的话 我经常远程工作 而不是通勤上班 我希望能够随身携带开发数据库环境 我知道我可以远程访问数据库 但速度很慢 我有时在没有无线连接的地方工作 有任何想法吗 是的 这是可能的 看this http social m
  • Spark 在执行 jdbc 保存时给出空指针异常

    您好 当我执行以下代码行时 我得到以下堆栈跟踪 transactionDF write format jdbc option url SqlServerUri option driver driver option dbtable full
  • PHP/PDO 和 SQL Server 连接以及 i18n 问题

    在我们的网络应用程序中 我们使用 PHP5 2 6 PDO 连接到 SQL Server 2005 数据库并存储俄语文本 数据库排序规则是Cyrillic General CI AS 表排序规则是Cyrillic General CI AS
  • 将数据库表转换为 XML 模式文件

    我正在使用 SQL Server 2005 是否有任何命令或 GUI 工具 例如 SQL Server Management Studio 中的任何菜单 功能 可以将数据库表转换为 XML 架构文件 xsd 提前致谢 乔治 我找到了这个 试
  • SQL Server 存储过程对象名称无效

    我在尝试修改现有存储过程时收到此错误 Invalid object name dbo BackupDB 我能够创建此存储过程 但是当我单击修改选项来修改此存储过程时 系统显示了上述错误 您会看到所附图片 当尝试执行此命令时 我也遇到同样的错
  • 有没有办法让这个UDF具有确定性?

    我认为这不是确定性的 因为DB NAME 是不是确定性的 如果DB NAME 不是确定性的 为什么不是确定性的 ALTER FUNCTION TheSchema udf IS PRODUCTION RETURNS bit WITH SCHE
  • 为表多次指定了 xxx 列

    我正在尝试将 db2 简单查询调整为 SQL SERVER 该查询在 db2 上运行良好 select from pb console users u join select from pb console users user role
  • 帮助将二进制图像数据从 SQL Server 读取到 PHP 中

    我似乎无法找到将二进制数据从 SQL 服务器读取到 PHP 的方法 我正在开发一个项目 需要能够将图像直接存储在 SQL 表中 而不是文件系统上 目前 我一直在使用这样的查询 插入 myTable 文档 选择 从 OPENROWSET BU
  • SQL Server xp_cmdshell

    有没有其他方法可以通过以下方式获取文件名列表T SQL以外 INSERT INTO backups filename EXEC master sys xp cmdshell DIR b c some folder with sql back
  • DBCC命令是存储过程还是函数?

    应该是什么DBCC命令被调用 DBCC 过程还是 DBCC 函数 这很令人困惑 因为DBCC PAGE可以在不加前缀的情况下执行EXEC语句很像存储过程 但EXEC DBCC PAGE 1 1 1 3 抛出错误 语法错误 消息 156 关键
  • 查找 SQL Server 中表的 B 树高度

    由于数据库数据以B Tree的形式组织在8k页中 对于PK信息也是如此 数据库中的每个表都应该可以计算B Tree的高度 从而揭示达到某些数据需要多少次跳跃 由于行大小和 PK 大小都非常重要 因此很难计算 因为例如varchar 250
  • LINQ to SQL:从位于不同服务器上的两个数据库获取记录

    我需要从两个不同的表中获取记录 数据库位于两个不同的 SQL Server 中 例如 销售数据库位于服务器 1 上 采购数据库位于服务器 2 上 销售和采购数据库都有一些表集 例如销售数据库中的 table1 和采购数据库中的 table2
  • T-SQL 中结果集的幂集(所有组合)

    我需要一个 t sql 代码来获取结果集的幂集 输入示例 ColumnName 1 2 3 Example Output one columns as nvarchar 1 2 3 1 2 1 3 2 3 1 2 3 输出集可能包含重复值
  • 查询链接服务器时登录失败

    我正在尝试在 SQL Server 中创建链接服务器 Create the link to server uranium EXEC master dbo sp addlinkedserver server N uranium srvprod
  • SSIS Master 包执行来自另一个项目的包

    我有多个SSIS项目 但其中的一些包是相同的 我想创建一个包含所有内容的项目generic包并将其他项目与他们的特定包一起保存 所以我的问题是 是否有可能有一个主包可以执行并将父变量传递给另一个项目的包 我是 SSIS 新手 如果这是一个明
  • TSQL - 执行CLR权限

    我从 CLR net Assembly 获得了一个 sql 过程 该过程在执行时返回错误 Msg 6522 Level 16 State 1 Procedure sp HelloWorld Line 0 A NET Framework er
  • 使用 AT TIME ZONE 获取指定时区的当前时间

    我正在尝试使用新的在 SQL Server 2016 和 Azure SQL 中 我只是想获取伦敦的当前时间datetime 针对夏令时进行调整 运行以下所有命令时 伦敦时间为凌晨 3 27 点 第一步是获得一个datetimeoffset
  • sql脚本变量默认值

    我有一个脚本文件 例如测试 sql 我想从另一个脚本调用它 比如 caller sql 在 sqlcmd 模式下使用 r test sql 这工作正常 但我想在 test sql 中使用脚本变量 当我从 caller sql 调用 test
  • SQL Server 标识列值从 0 而不是 1 开始

    我遇到了一个奇怪的情况 数据库中的某些表的 ID 从 0 开始 即使 TABLE CREATE 的 IDENTITY 1 1 也是如此 对于某些表来说是这样 但对于其他表则不然 它一直有效到今天 我尝试过重置身份列 DBCC CHECKID
  • 导入到 SQL Server 时忽略 Excel 文件中的列

    我有多个具有相同格式的 Excel 文件 我需要将它们导入 SQL Server 我当前遇到的问题是 有两个文本列我需要完全忽略 因为它们是自由文本 并且某些行的字符长度超出了服务器允许我导入的长度 这会导致截断错误 因为我的分析不需要这些

随机推荐

  • 在 moment.js fromNow() 或 from() 中使用时区

    我想向用户展示自他们执行操作以来已经过去了多长时间 发生操作的日期 时间存储在服务器上 采用服务器的时区 这就是造成问题的原因 因为如果用户计算机的时区比服务器时区早 12 小时 那么如果用户现在添加某些内容 moment js 将显示 1
  • 如何在 Delphi IDE 中更快地创建自动属性?

    我需要创建和管理许多简单的已发布属性 如果它们看起来像这样 我称它们为自动属性 private FTitle string published property Title string read FTitle write FTitle 通
  • 选择多个数组元素

    PHP 有没有办法一次选择多个数组元素 例如这样在 for 循环中 i 要选择的第一个集合的大小 然后后续增量表示从数组中选择该大小的下一组 Thanks IE 而不是一次只循环一个数组元素 而是循环遍历选定的对 例如 3 个元素 然后对这
  • 自制安装 - sudo?

    我正在尝试在我的终端中安装 Homebrew 它首先要求我输入密码 我用来登录计算机的密码 然后按 Enter 键 然后它会出现 在 macOS 上需要 sudo 访问权限 这是什么意思 我已经是管理员 据我所知 因为这是我的个人笔记本电脑
  • 如何同步两个CoordinatorLayout + AppBarLayout的滚动

    我有一个关于 XML 的活动 就像是
  • 如何减少 GridLayout 中 JCheckbox 之间的空间

    我有三个JavaJCheckboxes在一列中 通过设置容器的布局来排列JPanel to GridLayout 3 1 1 1 当我运行程序时 JCheckBox 之间的垂直空间太大 它看起来超过1个像素 由于我已经将布局中 JCheck
  • Laravel 排序关系

    如何使用相关表格对结果进行排序 我有这个表 Clients and Managers 用户表 客户端 php
  • 链接的 ViewScoped beans 导致内存泄漏

    在 JBoss 7 1 1 上的 JavaEE6 项目 EJB3 JSF2 中 ViewScoped beans 似乎存在内存泄漏 最近几天我花了时间调查这个问题 因此 我创建了包含两个页面的简单项目 以保证在第一页离开 ViewScope
  • OpenCV如何平滑轮廓、降低噪声

    I extracted the contours of an image that you can see here However it has some noise How can I smooth the noise I did a
  • 是否可以检测应用程序的退出?

    我的 Android 应用程序允许从此启动其他已安装的应用程序 这显示了一些允许的应用程序 如果用户尝试启动不允许的应用程序 则显示一条消息并使用正在运行的任务返回到我的活动 从每个应用程序启动的位置 我的应用程序充当家庭启动器 因此 如果
  • Windows 事件查看器锁定了我的 EXE 文件

    我对某件事很好奇 我正在开发一个 Windows 服务并将所有诊断事件记录到 Windows 事件日志中 因此 当服务运行时 我打开事件查看器 从管理工具 来查看服务运行的结果 除了当我需要卸载程序时 再次出于测试目的 这非常有效 出于某种
  • 是否使用辅助角色或 Web 角色:Windows Azure

    我正在编写一个小型计算程序 对 blob 文件进行大量读取操作 我应该选择工作者角色还是网络角色 Web 角色和辅助角色之间的唯一区别是 在 Web 角色中 IIS 实际上是托管 Web 核心 启动并指向您的应用程序数据目录 您仍然可以将代
  • 如果上次修改日期已经过了某个时间,我如何告诉 Camel 仅复制文件?

    我想知道这是否可以用 Apache Camel 来实现 我想做的是让 Camel 查看文件目录 并只复制 上次修改 日期比某个日期更新的文件 例如 仅复制 2014 年 2 月 7 日之后修改的文件 基本上 我想在每次 Camel 运行时更
  • 查找 .NET 程序集中的字节偏移量

    我正在尝试调试客户向我们报告的错误 堆栈跟踪只有字节偏移量 没有行号 e g NullReferenceException 未将对象引用设置为对象的实例 Foo Bar FooFoo p 32Foo BarBar 191Foo BarBar
  • 测试立即失败,并出现未知错误:通过 systemd 运行 Selenium 网格时,DevToolsActivePort 文件不存在

    我一直在尝试改变从 shell 脚本启动 Selenium 网格服务的方式 rclocal to a systemd服务 但不起作用 脚本是这样的 bin bash java jar opt selenium server standalo
  • 关于C++默认值的一些问题

    我对函数参数列表中的默认值有一些疑问 默认值是签名的一部分吗 默认参数的参数类型怎么样 默认值存储在哪里 在堆栈或全局堆中还是在常量数据段中 否 默认argument不是签名的一部分 也不是函数类型的一部分 参数类型是签名的一部分 但默认参
  • 传递所有适用类型的函数

    我遵循了发现的建议here定义一个名为 square 的函数 然后尝试将其传递给一个名为两次的函数 函数定义如下 def square T n T implicit numeric Numeric T T numeric times n n
  • 在 Linux 内核模块中读/写文件

    我知道所有关于为什么不应该从内核读取 写入文件的讨论 而是如何使用 proc or netlink要做到这一点 无论如何我想读 写 我也读过让我发疯 你永远不应该在内核中做的事情 然而问题是2 6 30不导出sys read 相反 它被包裹
  • 我是否需要在 C++ 线程中使用整数锁定

    如果我在多个线程中访问单个整数类型 例如 long int bool 等 我是否需要使用同步机制 例如互斥体 来锁定它们 我的理解是 作为原子类型 我不需要锁定对单个线程的访问 但我看到很多代码确实使用了锁定 对此类代码进行分析表明 使用锁
  • DB2 中的 SQL Server 事务相当于什么?

    DB2 中的以下 SQL Server 语句等效于什么 开始交易 提交交易 回滚事务 答案实际上比这里指出的要复杂一些 确实 事务是 ANSI 标准化的 而 DB2may支持他们 DB2 for z OS 与其他变体 LUW Linux U