如果 SQL Server 中尚不存在该行,我可以使用“如果不存在”来插入该行吗?

2023-11-26

insert into Attributes (Id, Disabled, AttributeValue) 
values (@id, @disabled, @attr_value)
if not exists
(
select * from Attributes
where 
Id = @id
)
  • 不确定这是否是有效的查询。
  • 我见过人们在不存在的地方使用。有什么区别以及如何使用不存在的地方?当我把不存在的地方,它说“附近语法不正确”。

我也检查了这些问题。但是,似乎没有查询可以使用插入如果不存在. 仅在行尚不存在时插入行 and sql条件插入如果行不存在

  • 我错过了什么吗?我应该只使用不存在的地方?

将其更改为INSERT INTO SELECT

INSERT INTO Attributes (Id, Disabled, AttributeValue) 
SELECT @id, @disabled, @attr_value
WHERE NOT EXISTS
(
    select * from Attributes
    where 
    Id = @id
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 SQL Server 中尚不存在该行,我可以使用“如果不存在”来插入该行吗? 的相关文章

  • 大型数据集的报告工具/查看器

    我有一个数据处理系统 可以根据其处理的数据生成非常大的报告 我所说的 大 是指该系统的 小 执行在转储到 CSV 文件中时会产生大约 30 MB 的报告数据 而大数据集大约为 130 150 MB 我确信有人有更大的想法 大 但这不是重点
  • SQL:从单个查询列出多对多

    我有 3 个表 分别代表 Users Roles 和多对多 UsersInRoles 键为 UserId RoleId 相关列 用户名 角色名 在管理 html 应用程序中 我想显示所有用户及其所在角色的列表 我尝试从 SQL 构建一个将返
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • 获取每件商品的最新价格

    我有一张桌子 ItemID PurchaseDate Price 001 03 17 2013 19 00 002 03 17 2013 14 00 001 03 18 2013 13 00 002 03 18 2013 15 00 001
  • 带可选参数的 SQL 更新命令?

    我将大约 500 000 个对象插入数据库 其中许多对象是相同的 在数据库中具有相同的主键表示 但其他字段可能不同 因此我使用方法 更新 如果没有行受影响 插入 问题是 有时一个对象的某些字段设置为 null 从文件中无法读取 并且已经在数
  • Oracle 函数编译成功,但在执行 PLS-00221 时抛出错误:不是过程或未定义

    我有简单的oracle功能 create or replace function abs test func test in in number return number is test out number BEGIN test out
  • 有向图 SQL

    我有以下数据集 它表示有向图中的节点 CREATE TABLE nodes NODE FROM VARCHAR2 10 NODE TO VARCHAR2 10 INSERT INTO nodes VALUES GT TG INSERT IN
  • 排除任何字段中具有 NULL 值的行结果?

    我有一个像这样的简单选择 SELECT FROM table WHERE fk id 10020 它可以工作 但有一些字段为 NULL 没有模式所以做了 SELECT FROM table WHERE fk id 10020 AND NOT
  • 如何使用存储过程 SQL SERVER 2008 R2(mssql) 插入 PHP 数组值

    我有这个数组 REV Array 0 gt 240 1 gt 241 2 gt 242 3 gt 243 4 gt 249 我现在使用下面的代码进行插入 将每个数组的元素存储在带有 id userID Type 和 Date 的行中 if
  • ROUTINE_NAME 和 SPECIFIC_NAME 之间有什么区别?

    在 INFORMATION SCHEMA ROUTINES 视图中 存在 ROUTINE NAME 和 SPECIFIC NAME 按照MSDN http msdn microsoft com en us library ms188757
  • LINQ-to-SQL 是否支持组合查询?

    作为一名不懂 C 的程序员 我对 LINQ 查询的求值语义很好奇 如下所示 var people from p in Person where p age lt 18 select p var otherPeople from p in p
  • 找出会话的默认 SQL Server 架构

    我需要知道正在执行某些 DDL 的 SQL 脚本中当前的默认架构是什么 我不需要设置架构 但我确实需要将对它的引用 名称或 ID 放入变量中 该脚本可能以 Windows 登录身份运行 因此以下内容还不够 SELECT name defau
  • 使用存储过程访问数据可以提供哪些安全优势?

    我看到一些指南建议您通过存储过程对所有数据访问进行分层来保护数据库 我知道对于 SQL Server 您可以保护表甚至列免受 CRUD 操作的影响 例如 Logged in as sa USE AdventureWorks GRANT SE
  • 使用 sql 查询选择最近 30 天

    我正在查找过去 30 天内周一 周二 周三 周四 周五 周六 周日的数量 我可以在没有实际数据库表的情况下选择最近 30 天的日期和星期几吗 就像是 SELECT everything between convert date GETDAT
  • 无法在 SSIS 查找中选择 ODBC 源

    我正在创建一个用于更新 SQL Server 中的表的包 要更新的详细信息是从 MySQL 数据库获取的 为此 我使用 ODBC 连接管理器连接到 MySQL 但此 ODBC 连接管理器未在 OLE DB 连接管理器中列出 我可以在 Too
  • 在带有循环引用的表中插入 SQL

    我有 2 张桌子 Empleados numEmpl nombre apellido sexo telefono salario numDept Departamentos numDept nombreDept numDirect 在部门中
  • 计算行数并仅获取表中的最后一行

    我有一张桌子叫employeexam其结构和数据是这样的 id course id employee id degree date 1 1 3 8 2013 01 14 2 2 4 15 2013 01 14 3 2 4 17 2013 0
  • 根据 SQL 查询的集合生成成员的“散点图”结果

    我有一个staff包含工作人员的数据库表 其中user no and user name列 我还有一个 department 包含员工可以加入的部门的表 其中dept no and dept name作为列 因为员工可以是多个部门的成员 所
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N

随机推荐