如何在 SQL Server 中检查 select 查询结果是否为 NULL

2024-01-08

在 SQL Server 中,如何验证查询是否返回 NULL 并根据它运行块。例如在查询 1 中,我想检查if count(*) is not null然后检查它是否 >0 。我应该使用if exists here ?

if select count(*) from tbl1 not is NULL then 
   if select count(*) from tbl1 where count(*)>0 then
      raiserror()
   end if 
end if 

在 Oracle 中可以说IF INSERTING THEN or IF updating THEN or if deleting then基于列运行特定的代码块。我们如何在 SQL Server 中做到这一点?请参阅下面的 Oracle 代码。

CREATE OR REPLACE TRIGGER tr_name
    BEFORE DELETE OR INSERT OR UPDATE OF column1 ON tbl1
    FOR EACH ROW
    WHEN (NEW.column1 IS NOT NULL)
begin
IF INSERTING THEN
    run some code like check if there are more than row in a table and if >0 then not allow any    inserts 
IF updating THEN
    run some code 
IF deleting THEN
    run some code 
end

DECLARE @ErrorMsg nvarchar(400)
IF (SELECT count(*) FROM tbl1) = 0
BEGIN
    SET     @ErrorMsg = 'You are returning nothing'
    SELECT  @ErrorMsg Err
    RETURN 
END
Else IF (SELECT count(*) FROM tbl1) >= 1
BEGIN
    SET     @ErrorMsg = 'You are returning something'
    SELECT  @ErrorMsg Err
    RETURN 
END

您无法从计数中得到 null,因此如果您检查 0,则实际上是等价的。

else if 检查计数返回的任何内容

你也可以使用IF EXISTS

IF EXISTS   (
        SELECT 1 FROM tbl1
)
BEGIN
    SET     @ErrorMsg = 'You are returning something'
    SELECT  @ErrorMsg Err
    RETURN 
END
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SQL Server 中检查 select 查询结果是否为 NULL 的相关文章

  • SSIS 包在 sql server 代理中失败,但在 Visual Studio 中失败。 ODBC 连接

    我有一个 SSIS 包 在 Visual Studio 2010 中运行良好 但作为 SQL Server 的一项作业 它在连接到 ODBC 数据库时失败 该项目使用密码对敏感数据进行加密 这是因为代理服务器不是我的帐户 也恰好是使用连接字
  • 如何向 SQL 连接字符串添加自定义属性?

    我想在 SqlServer 连接字符串中添加一些自定义属性 如下所示 Integrated Security SSPI Extended Properties SomeAttr SomeValue Persist Security Info
  • 使用 DISTINCT 进行查询需要很长时间

    我正在使用 Microsoft Access 2003 我的项目中的一个表单需要很长时间才能向用户显示 这是适用的查询 SELECT DISTINCT tb KonzeptDaten DFCC tb KonzeptDaten OBD Cod
  • 无法将数据加载到 mvc 4 中的 jTable 中

    好的 我第一次尝试 jTable 我可以加载表 但这对我没有什么好处 因为它不会加载我的任何数据 当我调试程序时 我想要的表中的所有行都存储在我的列表中 因此我很困惑为什么当我运行应用程序时会弹出一个对话框 显示 与服务器通信时发生错误 H
  • 跳过行:将数据从 SSIS 导出到 Excel 文件

    我正在尝试使用 SSIS 将数据从 SQL Server 数据库导出到 Excel 文件中 我希望从第 6 行插入数据 第 5 行有标题 我可以映射标题名称Excel 目标编辑器 通过编写 SQL 命令到 SQL 表头 SELECT FRO
  • 什么会阻止 Docker 容器中运行的代码连接到单独服务器上的数据库?

    我有一个在 Ubuntu 14 04 上的 Docker 容器中运行的 NET Core 1 1 应用程序 它无法连接到在单独服务器上运行的 SQL Server 数据库 错误是 未处理的异常 System Data SqlClient S
  • 如何使用 php 在 sql 查询中转义引号?

    我有一个疑问 sql SELECT CustomerID FROM tblCustomer WHERE EmailAddress addslashes POST username AND Password addslashes POST p
  • 根据数据框中的内容从SQL Server删除行

    我在 SQL Server 中有一个名为的库存表dbo inventory其中包含Year Month Material and Stock quantity 我每天都会收到 csv 文件形式的新库存计数 需要将其加载到dbo invent
  • SQL Server - 选择满足条件的第一行

    我有 2 个包含 ID 的表 其中一个表中会有重复的 ID 我只想为表 B 中的每个匹配 ID 返回一行 例如 Table A objectIdA objectIdB 1 A 1 B 1 D 5 F Table B objectIdA 1
  • SQL Server:当列为 NTEXT 时 IN('asd') 不起作用

    我该如何解决这个问题 where someNtext IN asd asd1 给出错误 消息 402 第 16 层 状态 1 第 XXXXX 行数据类型 ntext 和 varchar 在等于运算符中不兼容 An INlist 只是 OR
  • 作为 UDF 结果的列上的 Where 子句

    我有一个用户定义的函数 例如myUDF a b 返回一个整数 我试图确保该函数仅被调用一次 并且其结果可以用作WHERE clause SELECT col1 col2 col3 myUDF col1 col2 AS X From myTa
  • SQL Server - 仅执行存储过程角色

    如何创建只能运行的自定义 SQL Server 数据库服务器角色SELECT查询和存储过程 这意味着 该角色的用户不允许执行自定义查询 但可以运行具有 CRUD 和 SysAdmin 语句的存储过程 UPDATES DELETES ALTE
  • WSDL PHP 函数返回 null,而其他函数返回预期结果

    Summary 在这里 我将列出我解决此问题所采取的所有步骤 以供其他人参考 1 PHP 很愚蠢地 监听 函数的输入消息来定义它应该使用哪个函数 因此 为每个函数提供不同的输入消息 即使它使用相同的类型或元素 您可能认为这对您来说是一项艰巨
  • SQL Server 2008 中的全文搜索一步一步

    如何开始使用SQL Server 2008 中的全文搜索 阅读这些链接 SQL SERVER 2008 创建全文目录和全文搜索 http blog sqlauthority com 2008 09 05 sql server creatin
  • 在 SQL Server 中获取帐户“锁定”状态

    我想解锁 SQL Server 中的一个帐户 在解锁之前 我必须检查该帐户是否被锁定 我只想在帐户被锁定时解锁 是否有任何 SQL 查询或存储过程来获取 SQL 用户的 锁定 状态 代表 Alex K 发布答案 SELECT LOGINPR
  • 从一张表更新并插入另一张表

    我有两张桌子 table1 ID 代码 姓名 table2 ID 代码 姓名 具有相同的列 我想将数据从 table1 插入到 table2 或更新列 如果 table2 中存在 table1 ID table2 ID 执行此操作的简单方法
  • 在 SQL Management Studio 2012 中调试

    我正在使用 Management Studio 2012 但无法调试任何 SQL 代码 在我点击 调试 按钮后 左侧没有看到任何绿色箭头 并且我的 SQL 对象都没有加载到内存中 当我将光标移到我设置的断点上时 我收到此消息 The bre
  • Razor C# - 从数据库获取数据

    我正在使用 WebMatrix 我创建了一个数据库并放置了一个包含几行数据的表 我可以连接到它并获取数据WebGrid 但它只提供了一种使用表格输出数据的方法 这是我的 shows cshtml 代码 var db Database Ope
  • SSRS ReportViewer 与 XML 嵌入数据源相关的问题

    我有 C WPF 应用程序 我想在 ReportViewer 控件中显示 SSRS 报告 本地报告文件中嵌入了 XML 数据源 从 SQL Server Business Intelligence Development Studio 运行
  • 在 SQL Server 中获取一周的第一天

    我试图按周对记录进行分组 将聚合日期存储为一周的第一天 然而 我用于四舍五入日期的标准技术似乎无法在几周内正常工作 尽管它可以在天 月 年 季度和我应用的任何其他时间范围内正常工作 这是 SQL select start of week d

随机推荐

  • android 的 coredata 相当于什么

    我曾经为 iPhone 编程 但后来我想在 Android 中制作另一个类似的程序 那么 我应该使用类似 coredata 的框架吗 安卓有类似的东西吗 实际上你需要的是检查 Android 的 ORM 工具的持久性 并决定哪一个最适合你
  • 如何从安装程序获取路径以及如何在我的应用程序中设置?

    我正在编写一个 win 应用程序 现在我想为我的应用程序进行设置 我的代码是 Microsoft Win32 RegistryKey rk Microsoft Win32 Registry LocalMachine OpenSubKey S
  • 从 SwiftUI 按钮调用评估Javascript

    假设您有以下 WKWebView 实现 import Combine import SwiftUI import WebKit class WebViewData ObservableObject Published var parsedT
  • 如何在 Python 中对多元对数正态分布进行采样?

    使用 Python 如何从多元对数正态分布中采样数据 例如 对于多元正态分布 有两个选项 假设我们有一个 3 x 3 协方差矩阵和一个 3 维均值向量 mu Method 1 sample np random multivariate no
  • Internet Explorer 中的鼠标移动问题

    当事件目标位于鼠标上方时 Internet Explorer 不会触发 onmousemove 事件 img 元素 缺乏背景 但当目标有背景时 它确实会注册事件 有人对此有解释吗 我在 IE10 IE9 和 IE8 中也有同样的行为 在这里
  • sed,用该行的第一部分替换全局分隔符

    可以说我有以下几行 1 a b c 2 d e f 3 a b 4 a b c d e f 我如何使用 sed 或 perl 编辑它以便阅读 1a1b1c 2d2e2f 3a3b 4a4b4c4d4e4f 我已经用 awk 完成了这样的操作
  • d3 访问分组条形图中的嵌套数据

    我正在通过嵌套 csv 文件构建分组条形图 该图表也可以作为折线图查看 因此我想要一个适合折线对象的嵌套结构 我原来的 csv 看起来像这样 Month Actual Forecast Budget Jul 14 200000 74073
  • XCode - 手动升级到 Swift 4

    我有一个有 2 个目标的项目 两个目标共享超过 99 的代码 并且都是用 Swift 3 编写的 当 XCode 9 可用时 正在扫描其中一个目标 代码和目标的 构建设置 都针对 Swift 4 进行了更新 遗憾的是 我刚刚发现另一个目标仍
  • MATLAB:枚举任意数量的集合中项目的所有组合[重复]

    这个问题在这里已经有答案了 可能的重复 Matlab 生成某些向量元素的所有可能组合 https stackoverflow com questions 4165859 matlab generate all possible combin
  • 如何使用 Hive 查询结构体数组(get_json_object)?

    我将以下 JSON 对象存储在 Hive 表中 main id qwert features scope scope1 name foo value ab12345 age 50 somelist abcde fghij scope sco
  • 是什么导致我的 SKAction 计时器表现异常?

    好吧 我有一个场景 我有这个方法 创建场景内容 当是否移动到视图被叫 在这个方法中 我有一些创建场景的东西 包括一个生成节点的计时器 如下所示 self spawningSpeed 1 5 self enemyData Enemy allo
  • 如何为单个包生成覆盖率 xml 报告?

    我在用着nose and coverage生成覆盖率报告 我现在只有一包ae 所以我指定只涵盖 nosetests w tests unit with xunit with coverage cover package ae 这是结果 看起
  • HTML5 中是否不需要 ALT 属性值来通过验证?

    我正在看这张幻灯片http www slideshare net CharJTF structurals semantics controls and more html 5 is here 3523971 http www slidesh
  • Java 类路径找不到 MySQL 驱动程序

    每当我运行以下代码时 import com mysql jdbc Driver public void insertIntoMysql Print out classloader information ClassLoader cl Cla
  • 如何应用KineticJS过滤器?

    我发现 KineticJS 滤镜文档非常令人沮丧 并且无法在网上找到示例 尤其是考虑到亮度 Kinetic filters 文档link http kineticjs com docs symbols Kinetic Filters php
  • 单击球体

    我有一个以正交投影为中心绘制的单位球体 半径为 1 球体可以自由旋转 如何确定用户单击球体上的点 Given 显示器的高度和宽度 投影圆的半径 以像素为单位 用户点击点的坐标 假设左上角为 0 0 则 x 值随着向右移动而增加 y 值随着向
  • 为什么 Grpc.Core NuGet 包这么大?

    最新的 Grpc Core NuGet 包有 150 MB 之大 它似乎在其一生中稳步增长 这里有一些例子 v1 17 1 2018 年 12 月 48 34 MB v2 23 1 2019 年 8 月 68 11 MB v2 30 0 2
  • 如何制作自定义 Java/JavaFX 控制台?

    有必要制作一个自定义控制台 我有以下代码 public class Console extends OutputStream private Console ResourceBundle resourceBundle throws IOEx
  • 抑制来自套接字的“不允许操作”错误

    我有一个小型实用程序 可以处理 TCP 和 UDP 套接字 有时 我会在 stderr 中打印错误 不允许操作 我的问题是 我根据套接字函数的返回码 偶尔是 errno 处理错误 并且不打印任何内容 因此 该消息必定来自套接字调用之一 我不
  • 如何在 SQL Server 中检查 select 查询结果是否为 NULL

    在 SQL Server 中 如何验证查询是否返回 NULL 并根据它运行块 例如在查询 1 中 我想检查if count is not null然后检查它是否 gt 0 我应该使用if exists here if select coun