使用 RAISERROR 终止 SQL 语句

2023-12-10

(SQL 2005) raiserror 是否可以终止存储过程。

例如,在大型系统中,我们得到了一个不希望输入到特定列中的值。在更新触发器中,如果您编写:

如果存在(从插入中选择 *,其中 testcol = 7) 开始 raiseerror('我的自定义错误', 16, 1) 结尾

更新信息仍然适用。 但是如果你跑

如果存在(从插入中选择 *,其中 testcol = 7) 开始 选择 1/0 结尾

抛出除 0 错误实际上会终止更新。 有什么方法可以通过 raiseerror 来做到这一点,以便我可以返回自定义错误消息?


在触发器中,发出 ROLLBACK、RAISERROR,然后 RETURN。

see SQL Server 中的错误处理 - 触发器上下文作者:Erland Sommarskog

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

使用 RAISERROR 终止 SQL 语句 的相关文章

  • Mysql 更快的 INSERT

    好的 我有大约 175k 个 INSERT 语句 相当大的 INSERT 语句 例如 INSERT INTO gast ID Identiteitskaartnummer Naam Voornaam Adres Postcode Stad
  • SQL 查询 - 将查询中的日期格式更改为 DD/MM/YYYY

    我想要实现的目标相当简单 将一种日期格式转换为另一种日期格式 由此 Jan 30 2013 12 00 00 000AM对此 DD MM YYYY或者在这种情况下30 01 2013 但是 当它是该月的 1 号到 9 号时 日期格式缺少零并
  • 使用 C# 恢复数据库

    我正在尝试使用 Microsoft SqlServer Management Smo 将数据库从一台服务器恢复到另一台服务器 问题是我不断收到错误消息 指出找不到 MDF 文件 原因是它试图在 SQL 实例名称的数据文件夹中查找它的来源 而
  • 无法从 CursorWindow 读取第 0 行,第 -1 列?

    我在使用数据库时遇到问题 当我运行 SQLView java 时 出现致命异常 java lang RuntimeException Unable to start activity ComponentInfo com jacob eind
  • 选择列的一部分

    我想知道是否有人可以帮助查询以选择列的一部分 criteriadata 列包含如下所示的数据 标准数据 14 27 15 14 30 15 DD 14 38 15 通过 14 33 15 通过 如何只选择数字 15 之后出现的数据 非常感谢
  • 水晶报表参数选择有限制吗?

    我正在尝试根据按用户分组的 Oracle 数据库制作 Crystal Reports 11 报告 我有超过一千个用户 我想创建一个参数字段 提示用户选择他们想要查看其结果的用户 但是我的参数选择字段仅显示 221 个可能的用户 由于 SQL
  • 当表有聚集索引时,数据是如何存储的

    我发现了无数的帖子 开头都是这样的很多时候我遇到人们说 聚集索引根据聚集索引键对表内的数据进行物理排序 这不是真的 然后这些帖子继续描述它是如何通过链表或其他方式实际存储的 例如 这个post http sqlwithmanoj wordp
  • 使用连接字段的 SQL JOIN

    我有两个表 Table1 包含一列 该列构成 Table2 中列的部分值 例如 表1 XName 123456 表2 ZName ABC 123456 我需要创建一个与这些匹配的 JOIN 但是使用 MS SQL 2008 我在完成这项工作
  • 如何在 postgresql 中使用“时间”字段按小时分组?

    我有一张带有一列的桌子ctime类型的time without time zone cdate ctime 2016 12 24 12 02 17 2016 12 24 12 02 32 2016 12 24 12 03 00 2016 1
  • Oracle 时间戳数据类型

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

    我正在尝试将列表插入到 flutter 中的 sql 数据库中 但我不知道该怎么做 有人可以帮助我吗 当我初始化 mi 数据库时 我有这个 Directory documentsDirectory await getApplicationD
  • Oracle SQL 查询日期格式

    我总是对 ORACLE SQL 查询中的日期格式感到困惑 并花几分钟时间去谷歌 有人可以向我解释当数据库表中有不同格式的日期时解决问题的最简单方法吗 例如 我有一个日期列为 ES DATE 保存的数据为 27 APR 12 11 52 48
  • 仅选择 SQL 关系中的最大值?

    我有以下两个关系 Game id name year Devs pid gid role 其中 Game id 是主键 Devs gid 是 Game id 的外键 我想编写一个 SQL 查询来查找参与该游戏的人数最多的游戏 我写了以下查询
  • SQL 执行计划是基于架构还是数据,或者两者兼而有之?

    我希望这个问题不太明显 我已经找到了很多关于解释执行计划的好信息 但有一个问题我还没有找到答案 该计划 更具体地说是相对 CPU 成本 仅基于架构 还是数据库中当前的实际数据 我尝试对我的产品数据库中需要索引的位置进行一些分析 但正在使用我
  • 如何获取数字列的确切类型,包括。规模和精度?

    有没有办法知道列中列的确切类型DataTable 现在我正在这样做 DataTable st dataReader GetSchemaTable foreach DataColumn col in st Columns var type c
  • C# SqlDataReader 执行统计信息和信息

    我正在创建一个自动数据库查询执行队列 这本质上意味着我正在创建一个 SQL 查询队列 这些查询将被一一执行 使用类似于以下的代码执行查询 using SqlConnection cn new SqlConnection Configurat
  • 为什么 Sql Server 2000 上的 TSQL 对小数点的舍入不一致?

    我正在尝试计算美元金额的折扣百分比 在 50 的情况下 有时你会得到半分钱 我需要将其四舍五入到最接近的一分钱 在Sql中 我的计算如下 round retail 0 5 2 0 如果我采用以下值 我会得到不同的结果 4 39 2 49 不
  • LEFT JOIN 返回与 INNER JOIN 相同的结果

    我有一张桌子 磨砂膏 里面有 1600 个独特的物品 第二张桌子有100万以上 我运行 INNER JOIN 并获得 65 个匹配项 SELECT a BW Parent Number a Vendor Name b Parent Supp
  • 帮助将二进制图像数据从 SQL Server 读取到 PHP 中

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

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有类似 SQL 的 lint 语法检查器和验证器 之类的东西 有一个项目 SQLLint 检测 S

随机推荐

  • 无法连接到mysql数据库[strato]

    我通过 Strato 购买了一个网络空间 现在我尝试通过 php 连接到 mysql 数据库 但每次 php 都会说Lost connection to MySQL server at reading initial communicati
  • C++ 数组与向量

    当使用C 向量时 花费的时间是718毫秒 而当我使用Array时 时间几乎是0毫秒 为什么性能差异如此之大 int tmain int argc TCHAR argv const int size 10000 clock t start e
  • Ubuntu 无法找到包

    我已经在ubuntu系统上安装了openstack的devstack 我正在尝试安装quantum lbaas agent 我收到错误Unable to locate package 我尝试更改中的源列表 etc apt sources l
  • 如何根据公钥的指数和模数创建 SeckeyRef 并在 SecKeyEncrypt 方法中使用

    任何人请帮忙创建SecKeyRef从指数和模数是我的Public exponent 010001 and Public Modulus 008903fb6d15f352ed3b45add3216f632f7139954a5631337aba
  • Python Pandas:计算数据帧每行中特定值的频率?

    我有一个数据框 df domain country out1 out2 out3 oranjeslag nl NL 1 0 NaN pietervaartjes nl NL 1 1 0 andreaputting com au AU NaN
  • 在多维数组中搜索键并返回其路径

    我需要在数组中找到特定的键 然后返回它的值和找到该键的路径 例子 array array fs1 gt array id1 gt 0 foo gt 1 fs2 gt array id2 gt 1 foo2 gt 2 fs3 gt array
  • (Android) 为什么 invalidate() 不会立即更新我的按钮?

    我已经阅读了几个关于使用 invalidate 以便立即更新视图的论坛和示例 但我仍然不明白为什么我所做的不起作用 下面的代码使用由 红色 蓝色 绿色 和 黄色 定义的图像按钮 我在每次尝试更改按钮外观之间设置了 1 秒的延迟 请有人告诉我
  • 使用 ListView:如何添加标题视图?

    我在看列表视图 API我看到了这个方法 addHeaderView 视图 v 我想做的是在列表上方有一个布局 这可能吗 我尝试做类似的事情 EditText et new EditText this et setLayoutParams n
  • 附加具有不同列名称的数据框 - Pandas

    我有 3 个数据框 可以从下面所示的代码生成 df1 pd DataFrame person id 1 2 3 gender Male Female Not disclosed ethn Chinese Indian European df
  • 集群中节点不健康

    集群上的节点处于不健康状态的原因有哪些 根据我有限的理解 当给定节点上的 HDFS 利用率超过阈值时 通常会发生这种情况 此阈值是使用 max disk utilization per disk percentage 属性定义的 我有时观察
  • 为什么我的标头未在重定向时设置?

    我有一个express路线 我设置了一个header and a cookie然后我重定向 router get callback async req res gt res cookie token token maxAge COOKIE
  • CSS动画在元素隐藏时暂停

    我正在努力向我正在从事的项目中的按钮添加点击 触摸动画 并且遇到了一个关于显示和隐藏元素的动画按钮的令人沮丧的问题 该项目是一个单页移动网络应用程序 上面有一些按钮 我正在使用 jQuery 在按下按钮时在按钮上设置 css 关键帧动画 该
  • CSS 变换倾斜[重复]

    这个问题在这里已经有答案了 有谁知道如何实现这样的倾斜 使用 CSS 的新转换属性 正如你所看到的 我正在尝试倾斜两个角 有人知道这是否可能吗 red box background color red transform perspecti
  • Bootstrap 模态在文档加载时可见

    我有一个引导模型工作正常 除了在文档加载时它是可见的 而且我不知道如何使初始状态不可见 a href myModal class btn Launch demo modal a div class modal div class modal
  • 在同一视图方法中在渲染器之间切换的简单方法

    我这样设置我的功能 view config route name route name permissions permissions renderer r mako def r request stuff goes here 现在 我想添
  • 从 java 代码在 MAC OS 上运行 .pkg

    我正在尝试从我的 java 代码运行 mpkg 应用程序 public void runNewPkg try String command sudo installer pkg Snip mpkg target Applications P
  • 在 C 中将浮点数打印为整数并将整数打印为浮点数时出现奇怪的输出[重复]

    这个问题在这里已经有答案了 下面的代码没有显示预期的输出 这是垃圾值 奇怪的是这些值被交换了 include
  • iOS 内部应用程序分发

    我的客户想要控制哪个设备正在运行应用程序 但还需要将应用程序分发到 100 多个设备 如果有人设法获得 ipa 他不希望他能够在未经授权的设备上运行它 我不确定以下内容 在企业开发计划下 应用程序可以 如果可以的话如何 绑定到设备 UUID
  • 如何在 Unix 中查找文件的大小并将其分配给变量

    我正在编写一个 Unix 脚本 它读取文本文件的大小 如果文件有一定大小 它应该打印文本文件 如果它不是一个else 执行一个循环并继续该过程 我正在使用以下命令来查找该文本文件的大小 ls l filepath filename lst
  • 使用 RAISERROR 终止 SQL 语句

    SQL 2005 raiserror 是否可以终止存储过程 例如 在大型系统中 我们得到了一个不希望输入到特定列中的值 在更新触发器中 如果您编写 如果存在 从插入中选择 其中 testcol 7 开始 raiseerror 我的自定义错误