gpt4 book ai didi

sql-server - 重置 SCOPE_IDENTITY()

转载 作者:行者123 更新时间:2023-12-02 12:02:19 27 4
gpt4 key购买 nike

我有一个存储过程,它首先将一些数据插入到临时表中,然后将一行插入到另一个表中。我在第二次插入后调用 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 - 重置 SCOPE_IDENTITY(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4571911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com