SCOPE_IDENTITY 在这种情况下会起作用吗?

2023-12-26

我有 PK 是自增密钥。我需要将记录插入数据库,然后取回 PK 并在另一个插入中使用它。

但是我想在一笔交易中完成此操作。那可能吗。这个想法是,如果我必须做的任何更新/插入中出现问题,那么我可以回滚所有内容,但我的印象是我需要进行提交。

我一开始打算在 ado.net 中执行此操作,但后来切换到存储过程,因为我认为这也许可以解决这个问题。

在这种情况下,SP 会帮助我吗?


是的,scope_identity 将为您提供最新插入的 id。作为替代方案,如果您使用的是 sql server 2005+,则可以使用输出子句 http://blogs.msdn.com/b/sqltips/archive/2005/06/13/output-clause.aspx.

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

SCOPE_IDENTITY 在这种情况下会起作用吗? 的相关文章

  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • 避免连接失败时出现空指针

    我有我的域类 带有命名查询 class Atendimento implements Serializable Funcionario funcionario static mapping funcionario column FUNCOD
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Amazon RDS for SQL Server 是否支持 SSIS?

    从谷歌搜索中读到一些相互矛盾的答案 不确定答案是是 否还是可能 我觉得读的时候已经很清楚了this http docs aws amazon com AmazonRDS latest UserGuide CHAP SQLServer htm
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 如何 md5 所有列(无论类型如何)

    我想创建一个 sql 查询 或 plpgsql 它将 md5 所有给定的行 无论类型如何 但是 在下面 如果 1 为空 则哈希为空 UPDATE thetable SET hash md5 accountid accounttype cre
  • 内连接不重复,可以吗?

    鉴于这两个表 表 A1 有两行具有相同的值 a A1 a a 表 A2 有两行主键值为 A B 它们与 a 关联 A2 PK col2 A a B a 我想要的是 A1 和 A2 的连接并得到这个结果 a A a B 显然内连接在这里不起作
  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 月份增量查询

    我想通过添加 1 个月来更新数据库中的月份 但我不知道如何在以下存储过程查询中添加月份 我不擅长 sql 请检查它 ALTER PROCEDURE dbo ChangePassword password varchar 20 epasswo
  • C#的数组列表可以用来填充SSIS对象变量吗?

    我已在 C 脚本中填充了一个列表 并将其值分配给 SSIS 对象变量 然后 我使用该对象变量通过循环遍历 For every do 枚举器来执行一些 SQL 查询 我尝试通过 Foreach ado 枚举器执行此操作 但出现错误 X 变量不
  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr
  • 为什么我的 CASE 语句要求 THEN 部分的数据类型为 INT?

    我正在尝试运行一个查询 其中以下 CASE 语句是其中一行 我正在使用报表生成器 3 0 但是 我收到一条错误消息 将 varchar 值 Case 1 转换为 int 数据类型时转换失败 Microsoft SQL Server 错误 2
  • 使用间隔阈值对不同的连续时间戳记录进行分组

    我有一系列间歇性间隔的带有时间戳的 GPS 坐标 我正在使用 PostGIS 将它们渲染到地图画布上 为了渲染它们 需要使用 PostGIS 中的 ST MakeLine 聚合函数将点聚合成线 从而在地图上留下 GPS 数据丢失的间隙 数据
  • 如何使用 LAMBDA 表达式在 LINQ 中执行 IN 或 CONTAINS?

    我有以下 Transact Sql 我正在尝试将其转换为 LINQ 并且很挣扎 SELECT FROM Project WHERE Project ProjectId IN SELECT ProjectId FROM ProjectMemb
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • 如何跨多个表强制执行 CHECK 约束

    我有一个在 Microsoft SQL Server 2012 Express 中记录奶牛繁殖信息的数据库 显然 一头牛只有在出生后才能配种 并且在其一生中可能会配种多次 我需要在我的数据库中强制执行这些约束 我目前已经根据下图安排了一个架
  • Visual Studio 2010 中的数据库设计器

    我需要创建一个全新的 Sql Server 2008 数据库 并希望使用 Visual Studio 2010 Ultimate 中的数据库项目 我已经创建了该项目并在下面添加了一个表格dbo架构 桌子 sql仅以纯文本形式显示 但带有颜色
  • MS ACCESS 计数/求和行数,不重复

    我有下表 我需要计算总行数而不包括任何重复记录 CustomerID test1 test1 test2 test3 test4 test4 如您所见 总行数为 6 但有两个 test1 和两个 test4 我希望查询返回 4 IOW 我想

随机推荐

  • 使用 Python 从 URL 中提取 id

    我有一个这样的网址url https www example com contents 6641345 我想提取id在最后的url你可以说interger上面字符串的一部分 我尝试了提供的解决方案https stackoverflow co
  • 如何从通用对话框类中获取数据

    我决定创建一些自定义对话框类 这些类可以由不同情况下的不同活动通用 具体来说 我创建了一个对话框 其中包含一个 EditText 框和一个如下标题 public class EditTextDialogFragment extends Di
  • 通过动态链接和手动设置增强单元测试框架

    我正在尝试设置一个具有动态链接和手动设置的 boost 单元测试框架 不是 BOOST AUTO TEST CASE 我做了一个简单的例子来重现我的错误 SomeLib cpp define BOOST TEST DYN LINK incl
  • 使用 joblib.dump 保存和加载经过训练的 GradientBoostingClassifier

    我正在尝试使用 joblib dump 使用以下代码保存经过训练的 GradientBoostingClassifier use 90 of training data NI int len X tr 0 9 I1 np random ch
  • 如何开始为 ARM 处理器编写自己的移动操作系统?

    我有兴趣创建自己的移动操作系统 我读到现有的移动操作系统在 ARM 处理器上运行并使用其汇编语言 而 Linux 和 Windows 等桌面操作系统是用 asm 编写的 C 似乎是两者共同的语言 这让我想到一些问题 如果我想构建自己的针对
  • 如何使用 Jest 模拟测试 Node.js CLI?

    我一开始就陷入困境 只需要 CLI 并捕获其输出 我尝试了两种方法 但都不起作用 这是我的 cli js usr bin env node console log Testing process exit 0 这是我的 cli test j
  • ms-excel 兼容的 csv 文件,代表 MarkLogic 目录中的所有文档

    我怎样才能最好地制作一个MS Excel兼容的csv代表 MarkLogic 目录中所有文档的文件 使用XCCJava 客户端和Tomcat and Marklogic两者都位于偏远地区 目录中的文档数量约为15000个 第一部分 获取目录
  • 实例构建效率低下?

    这是一个简单的struct pub struct Point x uint y uint impl Point pub fn new gt Point Point x 0u y 0u fn main let p box Point new
  • 当我创建新项目时,Xcode 4 的项目导航器中的“M”和“A”图标是什么意思?

    Xcode 4 在项目导航器中的文件旁边显示灰色的 M 和 A 图标 我相信它们与源代码控制有关 重点是 我在 Xcode 4 中打开和编辑的所有旧 Xcode 3 项目都不显示这些图标 我在 Xcode 4 中创建的新项目也不受源代码控制
  • 相关产品的 Schema.org 设置?

    我想为相关产品设置 Schema org 标记 我已经尝试过这段代码 但我心中有疑问 itemprop isRelatedTo itemscope itemtype http schema org Product 我的产品页面是https
  • ExtJS4 LinkBut​​ton 组件

    我正在尝试在 Ext JS 4 中创建自己的 LinkBut ton 组件 没什么新意 对吧 我的代码如下所示 Ext define LinkButton extend Ext Component xtype linkbutton auto
  • 用于在 AssemblyInfo.cs 中设置自定义属性的 MSBuild 任务

    是否有用于在 AssemblyInfo cs 中设置自定义属性的 MSBuild 任务 我找到了 AssemblyInfo 任务 但它似乎无法设置自定义属性 只能设置预定义属性 我想设置已添加到此文件中的 3 个自定义属性 有什么建议如何解
  • 什么是 adb 守护进程?

    运行应用程序时 会形成 apk 文件 并且该 apk 文件会安装在模拟器中 为了在模拟器中安装 apk 文件 我们需要 Android 调试桥 ADB 服务 守护进程是该服务的一部分 我的问题是守护进程的工作是什么 它有什么作用 From
  • 不明确的表更新查询

    我收到错误消息 表不明确 我正在使用别名 因此不确定为什么表不明确 这是我的代码 UPDATE Field Translations SET SourceColumn1 EnteredProduct SourceValue1 I Produ
  • 在 Windows 资源管理器中打开文件夹结构时,DirectoryInfo.Delete(True) 不会删除

    假设我有一个类似的文件夹结构 C MyTemp MySubFolder 如果我尝试使用以下方法删除它 Dim path As String C MyTemp Dim di As System IO DirectoryInfo di Syst
  • PHP ftp_nb_get 下载时获取本地部分文件大小

    My code conn id ftp connect ip address port login result ftp login conn id username password if conn id login result p g
  • 分配多个相同类型的数组

    我需要分配多个相同类型和形状的数组 一开始 我做了类似的事情 void alloc arrays v1 size t nmemb int a1 a2 a3 a1 malloc nmemb sizeof int a2 malloc nmemb
  • 来自 Go 编程语言的 Android 应用

    我从 google 听到有关 Go 编程语言的嗡嗡声 维基百科是这样描述的 Go 的目标是提供静态类型编译语言的效率以及动态语言的编程便利性 我在想 既然它是来自android制造商的语言 他们应该对创建android应用程序有一些支持 有
  • 命名空间范围内的 constexpr 变量,带或不带显式内联定义

    即使读完之后这个关于非显式内联命名空间作用域变量的问题 https stackoverflow com q 46107312 3537677 在标头中定义 我对显式内联名称空间作用域变量是否可以有点偏执 因为据我所知 违反 ODR 的行为是
  • SCOPE_IDENTITY 在这种情况下会起作用吗?

    我有 PK 是自增密钥 我需要将记录插入数据库 然后取回 PK 并在另一个插入中使用它 但是我想在一笔交易中完成此操作 那可能吗 这个想法是 如果我必须做的任何更新 插入中出现问题 那么我可以回滚所有内容 但我的印象是我需要进行提交 我一开