sql-server – 重置SCOPE_IDENTITY()
发布时间:2020-05-24 10:31:44 所属栏目:MsSql 来源:互联网
导读:我有一个存储过程,首先将一些数据插入临时表,然后将行插入另一个表.我在第二次插入后调用Scope_Identity()来获取新插入的记录Identity. 如果第二个插入由于连接而什么都不做,我想检查Scope_Identity并引发异常.但Scope_Identity返回在第二次插入之前从临时表
|
我有一个存储过程,首先将一些数据插入临时表,然后将行插入另一个表.我在第二次插入后调用Scope_Identity()来获取新插入的记录Identity. 如果第二个插入由于连接而什么都不做,我想检查Scope_Identity并引发异常.但Scope_Identity返回在第二次插入之前从临时表插入创建的最后一个标识. 有没有办法在调用第二个插入之前重置SCOPE_IDENTITY,或者更好的方法来确定第二个插入是否实际上没有插入任何内容? 解决方法第二次插入后立即检查@@ ROWCOUNT.如果为0则不插入任何行.INSERT INTO YourTable
SELECT ...
IF (@@ROWCOUNT = 0)
BEGIN
RAISERROR('Nothing inserted',16,1)
RETURN
END (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 关键字’case’附近的语法不正确
- sql-server – SQL Server 2008 R2 – 备份2005 dbs并迁移到
- sql-server – SQL语法解析器在Delphi for SQL Server
- mssql数据库游标批量修改符合条件记录的方法
- 为什么和什么时候使用LINQ?
- 教你自动恢复MySQL数据库的日志文件(binlog)
- Sqlserver2000 数据库备份实例代码
- 数据库设计 – 具有快速(1s)读取查询性能的大型( 22万亿项)
- 详解JDBC数据库链接及相关方法的封装
- SQL Server INSERT INTO SELECT语句与SELECT INTO FROM语句
