sql事务不回滚

2023-12-25

在transact-sql中,在“开始事务”和“提交事务”之间封装不同操作的目的是什么

我注意到,当函数中间抛出异常时,它不会回滚事务。 如果发生错误,如何回滚事务?


使用 try 和 catch 进行正确错误处理的最佳方法。然后根据错误在 catch 子句中执行操作,例如回滚 tran 等。

但是,如果您根本不想更改代码。请在代码执行之前指定以下内容。

set xact_abort on

这将导致事务自动回滚。但最好的解决方案是正确捕获并处理错误。

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

sql事务不回滚 的相关文章

  • SSIS 将字符转换为布尔值/位

    我有一个SSIS包来加载数据 您可能还记得 当我尝试将数据文件中的标志作为位标志加载到 SQL Server 中时 这些标志作为 Y N char 1 存在 我将数据文件中的列指定为String DT STR 我有一个数据转换任务 根据以下
  • SSIS-从 Sharepoint 下载 Excel 并将其加载到 SQL 数据库

    我目前遇到的情况是共享点网站上有一个 Excel 文件 我需要将该 Excel 文件加载到数据库中 Excel 文件有多个工作表 我尝试过以下方法 但运气为零 方法 1 我访问 sharepoint 站点并访问 库 选项卡 并选择使用资源管
  • 无法通过 SQL Server Management Studio 连接到 SQL Server Linux Docker 容器

    我对 Linux 操作系统很陌生 所以希望这不是一个愚蠢的问题 软件 Windows 10 专业版适用于 Windows 的 Docker 1 13 0 beta38 9805 SQL Server Management Studio v1
  • SQL Server 全文的自定义断字器

    有谁知道如何为 SQL Server 2005 创建自定义分词系统 我更喜欢用 C 编写它 我需要能够搜索 c f 等术语 但 字符是英语 英国 分词器组件中的分词器 不能以任何其他方式更改 我发现以下文章提供了不完整的示例 缺少 IWor
  • 如何使用索引更改表的列?

    我想将带有某些索引的表中 a 列的列大小从 varchar 200 更改为 varchar 8000 我应该如何进行 既然是VARCHAR你正在增加尺寸 然后简单地ALTER TABLE ALTER COLUMN https learn m
  • 使用 dtexec 运行 SSIS 包

    我正在使用 dtexec 运行 SSIS 包 该软件包在我的系统上的 BIDS 中运行良好 当我创建 SQL Server 代理作业以按计划运行包时 包运行步骤被安排为 T SQL 任务 而不是 SSIS 包 该作业没有报告错误 但它甚至没
  • SQL最近的命令?微软SQL

    我只是编写一个查询来查看我的客户数据库并列出他们下了多少订单等 我正在努力添加到此查询中的是只显示该电子邮件的最新 OrderID 有任何想法吗 这是我的查询 select top 1000 BuyerEMail COUNT HowMany
  • 在 SQL Profiler 中查找特定 LINQ 查询的巧妙技巧

    由于有时会创建疯狂的 SQL 因此分析 LINQ 查询及其执行计划尤为重要 我经常发现我需要跟踪特定的查询 但很难在查询分析器中找到 我经常在有大量正在运行的事务的数据库 有时是生产服务器 上执行此操作 因此仅打开 Profiler 是没有
  • 在sql server中动态生成列名

    请看下面的查询 select name as Employee Name from table name 我想生成 Employee Name 动态地基于其他列值 这是示例表 s dt dt01 dt02 dt03 2015 10 26 I
  • SQL Server 2016-临时表-如何识别用户

    是否可以获得有关修改历史表中数据的用户 连接的信息 我读到了审计场景 其中我可以使用时态表 并且可以检测谁更改了数据 但我怎样才能做到这一点呢 一个看似无懈可击的审核解决方案 它给出了进行每个更改的登录用户的名称 并且对我的之前的回答 ht
  • 将 MS Access 连接到网络上的 SQL Server

    我在 Windows 服务器上安装了 SQL Server Express 我有 10 个人在本地 PC 上安装了 MS Access 2016 假设数据库非常小且简单 连接 SQL Server 最简单的方法是什么 简单的 ODBC 可以
  • SQL:删除SQL Server中的重复记录

    我有一个 sql server 数据库 我预先加载了大量数据行 不幸的是 数据库中没有主键 并且表中现在存在重复信息 我不担心没有主键 但我担心数据库中有重复项 有什么想法吗 原谅我是一个sql server新手 嗯 这就是表上应该有主键的
  • 服务器未配置 RPC

    查找我的工作历史 发现以下错误 06 18 2018 00 00 01 MBS Lojas ExportaMR OutrasLojas Error 1 WIN VRT 01 SQL2008 MBS Lojas ExportaMR Outra
  • 在 ms-sql 中查找最近的位置

    我将这些参数发送给我的脚本 纬度 41 0186 经度 28 964701 它是示例 我想找到最近的位置的名称 这个怎么做 查询必须更改代码的位置 sql查询 SELECT Name FROM Location WHERE Latitude
  • 关于数据库变更的通知

    我正在尝试一种场景 其中我想使用任何用户提交的更改来更新在不同 PC 上运行的桌面 UI 例如 Application1 安装在 PC1 PC2 和 PC3 上 假设所有 PC 都运行此应用程序 假设 PC1 上的用户 1 更改数据并提交到
  • 如何增加每次 INSERT INTO 迭代的值?

    我有一个查询 如下所示 第 1 列位于 另一列是 varchar 100 INSERT INTO TABLE1 column1 column2 SELECT MAX column1 FROM TABLE1 1 anotherColumn F
  • 如何在 git 中仅获取唯一的提交

    我想获取所有分支中唯一提交的列表 但是如果有人在分支中使用 rebase 则会提交松散的父项 如何解决这个问题呢 如何获取进行独特更改的提交列表 I use git log oneline graph cherry pick left ri
  • 为什么需要 EndExecuteNonQuery()?

    文档here http msdn microsoft com en us library ca56w9se aspx指出 开发人员必须致电 EndExecuteNonQuery 方法完成 操作 我无法找到一个充分的理由来解释为什么会这样 或
  • 什么可能导致输出参数访问时出现 SQL Server JDBC 错误“未为参数号 0 设置值”?

    我有一些访问 SQL Server 2005 的 Java 代码 如下所示 CallableStatement cstmt Set input parameters cstmt registerOutParameter 11 Types I
  • 使用触发器找出哪些行被插入、更新或删除

    我在数据库中有一个名为指示的表 它有三列Name Age and Enable 我想创建一个触发器 每当Age未满 18 岁并且Enable是真的 我想在插入的那一刻检查指示表上的记录 这样我就可以检查是否应该在报警时插入 I found

随机推荐