SQL Server 理解 SCOPE_IDENTITY()

2023-12-23

我在存储过程中有这段代码:

BEGIN
    SET @UserId = NULL;
    IF (@Username IS NOT NULL)
    BEGIN
        EXECUTE SP_ADD_USER @Username, @UserId OUTPUT;
    END
    EXECUTE SP_ADD_ALERT @Name, @AlertType, @AlertId OUTPUT;
    INSERT INTO AlertLogs (Datastamp, AlertID, UserID, NotificationMessage) 
        VALUES (@Datastamp, @AlertId, @UserId, @EmailMessage);
    SET @AlertLogId = SCOPE_IDENTITY();
END

@AlertLogId是一个输出参数,我想将其分配给最后一次插入的结果AlertLogs桌子。我必须包括吗

INSERT INTO AlertLogs (Datastamp, AlertID, UserID, NotificationMessage) 
        VALUES (@Datastamp, @AlertId, @UserId, @EmailMessage);

在一个新的块(一个新的开始/结束范围)中,以便SCOPE_IDENTITY()能正常工作吗? (并且不报告例如在中完成的插入记录的最后一个 IDSP_ADD_ALERT例如 ?)


在您的查询中,SCOPE_IDENTITY()对于此范围,将把最后输入的标识值返回到数据库中。

在本例中,它将是AlertLogs表,如果它有一个标识。

范围是一个模块:存储过程、触发器、函数或批处理。 因此,如果两个语句都在同一作用域中 相同的存储过程、函数或批处理。

http://msdn.microsoft.com/en-us/library/ms190315.aspx http://msdn.microsoft.com/en-us/library/ms190315.aspx

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

SQL Server 理解 SCOPE_IDENTITY() 的相关文章

  • SQL 英文查询发生了什么?

    SQL Server 2000 与 English Query 一起部署 当时我还年轻 对 SQL 还很陌生 所以我跳过了那一章 多年后的现在 又出现了制作一个可以理解简单用户问题的逻辑程序的想法 还有其他选择吗 英语查询现在在哪里 英文查
  • Power Query 根据 Excel 列列表过滤 SQL 视图

    有没有办法使用 Power Query 根据 Excel 表列中的值列表过滤 SQL 视图 我有一个返回大量数据 数百万条记录或属性 的 SQL 视图 用户希望根据属性 ID 的 Excel 表格列进行过滤 我知道我可以根据 Power 查
  • CLR 存储过程与 C# 抛出错误

    您好 我正在使用 C 制作一个 CLR 存储过程 我正在通过示例进行学习 以下是我现在正在尝试的 public static void GetProductsByPrice int price SqlConnection connectio
  • 无法加入交易

    我有问题 我已经在 Windows 中设置了 1 个 sql 服务器 SQL Server 2014 Express 并在另一台服务器的 Linux 中设置了 1 个 Oracle 数据库服务器 11g 现在我想通过链接服务器将数据从SQL
  • 使用 Python 将 XML 文件存储到 MS SQL DB 中

    我的 MSSQL DB 表包含以下结构 create table TEMP MyXMLFile XML 使用 Python 我尝试将本地存储的 XML 文件加载到 MS SQL DB 不需要 XML 解析 以下是Python代码 impor
  • SQL Compact 3.5附加多个数据库/跨数据库查询?

    是否可以将多个数据库附加到 SQL CE 3 5 精简版 例如MasterData sdf Orders sdf 并对它们应用查询 例如 选择 Orders iOrderID Orders cItemID MasterData cItemD
  • 如何将 ROW_NUMBER() 分配给列?

    看完之后这个问题 https stackoverflow com questions 1293390 sql to output line number in results of a query 我还有一个类似的问题 有没有一种简单的方法
  • 无法将 null 值插入列...当值不为 null 时

    在我的 C 代码中 我在数据库中有一个插入 但它引发了异常 无法将 NULL 值插入表 Moroccanoil Replicated dbo Boxes 的 BoxID 列 列不允许为空 插入失败 然而 在调试这段代码时 我发现该框实际上不
  • 触发器定义中的 DELETE 语句问题

    我创建了一个插入 更新触发器 旨在根据插入的数据更新不同表中的信息 触发器执行 或应该执行 的最后一件事是从目标表中删除所有数据 这些数据的条件在触发器的插入部分期间可能已更改 除了最后的之外 一切似乎都在触发DELETE陈述 它正在执行D
  • MS SQL 2005 备份能否恢复到 MS SQL 2008 实例上?

    是否可以将 SQL Server 2005 数据库的备份恢复到 SQL Server 2008 的实例上 我需要重建一台服务器 因为它变得相当糟糕 所以我计划借此机会升级到 SQL 2008 并想知道我是否能够正常恢复我的备份 从 2005
  • SSDT 单元测试:从配置文件读取 SQL Server 单元测试设置时发生错误

    我在 Visual Studio 2013 professional 中创建了一个数据库项目 然后通过右键单击存储过程之一并选择来添加单元测试创建单元测试 选择创建一个新的VB测试项目 然后右键单击新创建的测试项目并选择SQL Server
  • SSRS报告不显示数据

    我刚刚创建了 SQL Server 2005 SSRS 报告 数据未显示在预览窗格中 数据集是根据字符串参数从存储过程正确填充的 我可以在数据窗格中执行它 在预览窗格中运行报表时 会显示正确的行数 但单元格的内容不包含任何数据 源数据集基于
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • SQL CASE 语句

    我有以下查询 我想将它们放入 sql CASE 语句中 这样我只有一个查询 但我不知道该怎么做 有人可以帮助我吗 IF SELECT EtlLoadId FROM ssislogs audit processcontrol WHERE Su
  • 查找SQL记录中的并发用户数

    我有以下结构的表 UserID StartedOn EndedOn 1 2009 7 12T14 01 2009 7 12T15 01 2 2009 7 12T14 30 2009 7 12T14 45 3 2009 7 12T14 47
  • 查看tomcat服务器的连接数

    我在 Tomcat Server 5 5 17 上部署了一个 Java Java EE Web 应用程序 我想知道连接到服务器的客户端数量 我们怎样才能找到它呢 最可靠的方法是搜索ip addr of srv port in netstat
  • 如何编辑表以启用级联删除?

    我有一个代表用户的表 当用户被删除时我得到 DELETE 语句与 REFERENCE 约束冲突 显然 CASCADE DELETE在SQL Server中并不像我想象的那么容易 需要将选项添加到表中 问题是 我不知道如何添加CASCADE
  • 为什么实体框架 6 在插入后不只选择scope_identity()?

    当您使用 EF 6 1 保存实体时 将生成并执行以下 SQL 代码 exec sp executesql N INSERT dbo Customers Name FirstName VALUES 0 1 SELECT CustomerId
  • SQL限制数据库中的最小值和最大值

    CREATE TABLE TBL CD CDnr int identity 1 1 CDTitel nvarchar 80 NOT NULL CDduur int CDprijs smallmoney 所以我正在创建这个表 有什么方法可以将
  • 简单的t-sql而不是触发器

    任何人都可以帮助解决简单的 t sql 脚本与板载触发器的问题吗 我使用非常简单的触发器将数据从一个表复制到另一个表 这些表之间没有关系 当我尝试在触发器创建后 从同一脚本 直接第一次插入数据时 我得到了所需的结果 但所有接下来的尝试都会失

随机推荐

  • 死锁谜题:受害者不拥有任何资源,用于解决死锁

    我有一个奇怪的死锁图 其中 MSSQL Server 2008 选择的受害者不是死锁循环的一部分 这个僵局是在select and insert 死锁资源是一个表 其中所有selects want waitresource KEY 6 72
  • PHP 脚本中的 XSS 漏洞

    我一直在到处寻找 试图找到解决这个问题的方法 我最近在我们的网站上运行扫描 以查找任何 XSS 和 SQL 注入漏洞 有些项目引起了我的注意 用户输入的任何数据现在都使用filter var 进行验证和清理 我现在的问题是 XSS 和操纵
  • python 和 java api 的释放错误:未定义符号:_ZN5boost6system15system_categoryEv

    我在 Ubuntu 13 10 中安装了 freeling 并且尝试使用 python 或 java api 但每当我尝试执行以下操作时都会收到错误 matias matias IdeaPad U430 Touch Programas To
  • 在 MVC 中显示文件夹中的所有图像。与 foreach

    我想将我的文件夹 Images uploads 文件夹中的所有图片显示到 MVC 视图中 所以它显示在网站上 但似乎没什么作用
  • GWT (2.4.0) + XSRF

    我一直在尝试让 XSRF 在网络应用程序上运行 但没有成功 我正在研究一个典型的登录实现 我正在关注谷歌的代码 https developers google com web toolkit doc latest DevGuideSecur
  • 向工人发送数据

    我正在尝试创建一段并行代码来加速非常大 几亿行 数组的处理 为了并行化 我将数据切成 8 个 我的核心数 块 并尝试向每个工作人员发送 1 个块 然而 看看我的 RAM 使用情况 似乎每一块都发送给每个工作人员 有效地将我的 RAM 使用量
  • ServiceStack OnDeserialized 等效项

    我正在实时反序列化 websocket 消息 在我收到的消息 json 字符串 中 有一个 unix 时间戳 长 一旦每个对象被反序列化 我就需要它尽快调用一个方法 以便我可以捕获消息发送和接收时间之间的延迟 使用 Json NET 这很简
  • 如何对字典(在运行时)进行类型提示/类型检查以查找任意数量的任意键/值对?

    我定义一个类如下 from numbers import Number from typing import Dict from typeguard import typechecked Data Dict str Number typec
  • 缓慢/跳跃地调整大小

    我使用简单的渐变扩展 JComponent 并调整 PaintComponent 方法制作了自己的 BottomBar 然后我将它添加到使用 BorderLayout 的 JFrame 的南部 一切一开始看起来都是正确的 当我调整框架大小时
  • 如何在android中获取纬度和经度?

    android2 3 3中如何获取当前的经纬度 我尝试跟随this https stackoverflow com questions 2227292 how to get latitude and longitude of the mob
  • 当使用实体框架代码优先映射属性到单独的表时,移动外键字段

    使用代码优先 EF 映射表时遇到奇怪的问题 我有一个父类 Contract 与另一个类 Supplier 具有多对一关系 要求在合同实体中存储合同的扫描副本 为了避免每次都查询文档字节 我想将此属性存储在单独的表中 我可以让 EF 将 Co
  • 为什么我的“事件”总是空?

    我正在尝试连接一个新事件 但由于某种原因 更改 总是评估为空 public class MyTreeViewItem INotifyPropertyChanged private MyTreeViewItem parent public M
  • Windows 批处理中的 if/then/else 语句

    在 shell 脚本中我有以下代码 if echo Mr 32 then echo Success else echo Failed exit fi Windows 批处理文件的等效语法是什么 我很难想象 ECHO 何时会失败并返回 ERR
  • 将布尔值绑定到视觉状态

    我正在使用表达式混合 当列表框没有元素时 我想将文本框的状态更改为红色边框和红色文本 因此 当文本更改时 我会过滤列表框 private void OnIPAddressTextChanged object sender System Wi
  • 启动 docker 守护进程监听特定端口的正确方法

    我是 Docker 新手 希望以守护进程模式启动它 监听特定的 IP 地址和端口 在里面文档 https docs docker com reference commandline daemon 据说这可以通过写来完成sudo usr bi
  • 关于AMR音频文件在不同设备上播放的问题

    我这里遇到了一个很奇怪的问题 我正在开发一个IM软件 需要在Android上播放另一个客户端录制的音频文件 我得到的相同音频文件可以在 3GS IOS 4 2 1 设备和模拟器 4 2 上使用 AVAudioPlayer 播放 但是当我尝试
  • 如何在gmake中返回变量的第一个字符

    使用 GNU 的 make 我想提取变量的第一个字符 目前我正在使用 shell 函数bash执行子串 我想知道是否有办法使用 gmake 的内置函数来执行相同的操作 DIR user shell echo USER 0 1 USER 这不
  • ViewModel 在 Activity 之间共享数据

    我正在使用 android viewmodel 但我无法从另一个活动传递和访问活动视图模型的数据 我只能用片段来做到这一点 我应该使用像 EventBus 这样的库在几个活动之间共享数据吗 最佳实践是什么 None
  • Libgdx,使用 Shader 的 Alpha 文本不起作用

    我在使用舞台操作在文本 使用着色器 中应用 alpha 时遇到一些问题 我正在使用添加窗口演员和窗口添加标签演员的组 我组中的其他演员应用 Actions alpha 工作得很好 但我的标签 使用着色器绘制 不起作用 与其他小部件不同的是我
  • SQL Server 理解 SCOPE_IDENTITY()

    我在存储过程中有这段代码 BEGIN SET UserId NULL IF Username IS NOT NULL BEGIN EXECUTE SP ADD USER Username UserId OUTPUT END EXECUTE