gpt4 book ai didi

sql - 批量插入时 SCOPE_IDENTITY 的值

转载 作者:行者123 更新时间:2023-12-02 08:30:44 25 4
gpt4 key购买 nike

我有一个表MyTable,我在那个表上有一个After trigger(On Insert)

当我在 MyTable 上运行批量插入语句时,它会触发触发器以捕获插入的数据(即用于审计日志目的)。

我们截断了表 MyTable,现在在表中插入了以下 5 条记录。此外,Auditlog 表具有现有数据。假设审计日志表中已有 500 条记录。

我的问题是,如果表上有触发器,SCOPE_IDENTITY() 会返回什么?

--Create table 
Create table MyTable
(
FirstCol int identity(1,1) primary key,
SecondCol varchar(10)
)

Create table AuditLog
(
AID int identity(1,1) primary key,
Comments varchar(50)
)

--Insert data to MyTable
INSERT INTO MyTable (SecondCol)
VALUES ('First'), ('Second'), ('Third'), ('Fourth'), ('Fifth')

Select * from MyTable
Select Scope_identity()

最佳答案

scope_identity 返回同一范围内最后创建的 ID。触发器在单独的范围内运行,因此该函数将返回与触发器不存在时相同的内容。

关于sql - 批量插入时 SCOPE_IDENTITY 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27190748/

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