作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个表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/
我是一名优秀的程序员,十分优秀!