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 在这种情况下会起作用吗? 的相关文章

  • 如何找到在SQL Server中注册的程序集?

    我在 SQL Server 中注册了一个程序集 CREATE ASSEMBLY CLRFunctions AUTHORIZATION dbo FROM 0x4D5A90000300000 WITH PERMISSION SET SAFE 我
  • 为什么某些字符无法从 CFQUERY 正确注入到 SQL Server?

    我有一个在 Lucee 上运行的 Coldfusion 应用程序 它连接到 SQL Server 数据库 当我直接在 SQL Server 管理器中运行以下查询时 UPDATE article SET content 20m WHERE i
  • 清除表中的所有行将身份规范重置为零并且不影响外键?

    我们已经创建了数据库框架以及所有关系和依赖关系 但表内部只是虚拟数据 我们需要删除这些虚拟数据 并开始添加正确的数据 我们怎样才能清除所有内容并将主键 IsIdentity 是 保留为零 并且不影响外部表关系结构 多谢 您可以采取以下步骤
  • MySQL:你能指定一个随机限制吗?

    有没有办法在 SQL MySQL 中随机化限制数字 我希望能够做的是在查询中获取随机数量的结果以在插入子查询中使用 而无需任何服务器端脚本 我希望能够作为假设说明运行的查询是 SELECT id FROM users ORDER BY RA
  • 使用AOP技术拦截ADO.Net

    我有相当大的代码库 使用各种不同的 ADO 技术 即一些 EF 在某些情况下直接使用 ADO Net 我想知道是否有任何方法可以全局拦截任何 ADO Net 调用 以便我可以开始审核信息 例如执行的确切 SQL 语句 花费的时间 返回的结果
  • 仅当变量不为空时 SQL 添加过滤器

    您好 我有疑问如下 SELECT route id ROUTE ID FROM route master NOLOCK WHERE route ou 2 AND route query l s query AND lang id 1 这里
  • 是否可以自动化 SQL Server 2008 分析器?

    有一个post https stackoverflow com questions 488020 what is your most useful sql trick to avoid writing more code关于有用的 SQL
  • MySQL 子查询返回多行

    我正在执行这个查询 SELECT voterfile county Name voterfile precienct PREC ID voterfile precienct Name COUNT SELECT voterfile voter
  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • SQL Server PIVOT 函数

    我有一个检索所有代理及其模块的查询 结果集将每个模块返回 1 行 SELECT am agentID AS agentid pa agentDisplayName agentdisplayname m ModuleName ModuleNa
  • 如何检测 Postgres 中持有锁的查询?

    我想不断跟踪 postgres 中的互锁 我碰到锁具监控 https wiki postgresql org wiki Lock Monitoring文章并尝试运行以下查询 SELECT bl pid AS blocked pid a us
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • PreparedStatement setnull方法中Types.INTEGER和Types.NULL的区别

    下面的说法有什么区别 PreparedStatement setNull 1 java sql Types NULL and PreparedStatement setNull 1 java sql Types INTEGER 第一个指示驱
  • 是否允许在流水线 PL/SQL 表函数中使用 SELECT?

    管道函数的文档指出 在 SQL 语句 通常是SELECT 并且在大多数示例中 管道函数用于数据生成或转换 接受客户作为参数 但不发出任何 DML 语句 现在 从技术上讲 可以使用 SELECT 而不会出现 Oracle 中的任何错误 ORA
  • SQL - 为每条记录调用存储过程

    我正在寻找一种方法来为 select 语句的每条记录调用存储过程 SELECT SomeIds SELECT spro Id FROM SomeTable as spro INNER JOIN Address addr ON addr Id
  • Quartz.NET 设置 MisfireInstruction

    我正在使用 Quartz NET 在 C 中工作 并且在 CronTrigger 上设置失火指令时遇到问题 我正在运行安装了 Quartz DB 的 SQL 后端 我有以下代码 可以很好地创建作业和运行调度程序 IScheduler sch
  • 如果执行没有事务的删除语句,是否会删除部分内容?

    如果表myTable包含100000000条记录 我执行DELETE FROM myTable 没有开始交易并且出现问题 例如服务器电源故障 会删除一些记录吗 否 如果数据库引擎符合ACID http en wikipedia org wi
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • 累计非重复计数

    我正在查询每天获取 uid 的累计不同计数 示例 假设有 2 个 uid 100 200 出现在日期 2016 11 01 并且它们也在第二天出现 新的 uid 300 100 200 300 出现在 2016 11 02 此时我希望商店累
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com

随机推荐

  • 使用 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 并在另一个插入中使用它 但是我想在一笔交易中完成此操作 那可能吗 这个想法是 如果我必须做的任何更新 插入中出现问题 那么我可以回滚所有内容 但我的印象是我需要进行提交 我一开