高速插入中返回自增值
时间:2011-12-27
来源:互联网
作者: benlee 发布时间: 2011-12-27
作者: Haiwer 发布时间: 2011-12-27
作者: Haiwer 发布时间: 2011-12-27
单条插入很难高速和高并发,不知道你是不是担心性能问题,考虑是否可以批量插入
UP海爷
楼主考虑并发性的话
你ID列可设置一下主键或唯一索引
作者: SQL77 发布时间: 2011-12-27
单条插入很难高速和高并发,不知道你是不是担心性能问题,考虑是否可以批量插入
因为插入可能是由多线程完成的,一直在插入,所以无法控制。就是考虑在插入时,能急时返回(用SP也可以),返回的ID要准确,又不能时间太长,不影响其它插入。
作者: benlee 发布时间: 2011-12-27
SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 是相似的函数,因为它们都返回插入到标识列中的值。 IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。有关详细信息,请参阅 IDENT_CURRENT (Transact-SQL)。 SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。 例如,有两个表 T1 和 T2,并且在 T1 上定义了 INSERT 触发器。当将某行插入 T1 时,触发器被激发,并在 T2 中插入一行。该方案演示了两个作用域:在 T1 上的插入,以及在 T2 通过触发器的插入。 假设 T1 和 T2 都有标识列,@@IDENTITY 和 SCOPE_IDENTITY 将在 T1 上的 INSERT 语句的最后返回不同的值。@@IDENTITY 将返回在当前会话中的任何作用域内插入的最后一个标识列的值。这是在 T2 中插入的值。SCOPE_IDENTITY() 将返回在 T1 中插入的 IDENTITY 值。这是在同一个作用域内发生的最后的插入。如果在任何 INSERT 语句作用于作用域中的标识列之前调用 SCOPE_IDENTITY() 函数,则该函数将返回 Null。 如果语句和事务失败,它们会更改表的当前标识,从而使标识列中的值出现不连贯现象。即使未提交试图向表中插入值的事务,也永远无法回滚标识值。例如,如果因 IGNORE_DUP_KEY 冲突而导致 INSERT 语句失败,表的当前标识值仍然会增加。
作者: fredrickhu 发布时间: 2011-12-27
引用 2 楼 haiwer 的回复:
单条插入很难高速和高并发,不知道你是不是担心性能问题,考虑是否可以批量插入
UP海爷
楼主考虑并发性的话
你ID列可设置一下主键或唯一索引
ID会设置主建和索引的,我是担心在多线程并发插入时,怎么样才能高速准确的返回刚才的最后一条。
作者: benlee 发布时间: 2011-12-27
作者: ap0405140 发布时间: 2011-12-27
如果是sql2005及以上版本, 用output子句即可.
是2005,请问怎么写法。、
作者: benlee 发布时间: 2011-12-27
create table benlee (id int not null identity, de varchar(5)) create proc addbenlee (@de varchar(5),@id int output) as begin declare @t table(id int) insert into benlee(de) output inserted.id into @t select @de select @id=id from @t end -- 测试 declare @i int exec addbenlee 'aaa',@i output select @i 'id' id ----------- 1 select * from benlee id de ----------- ----- 1 aaa (1 row(s) affected)
作者: ap0405140 发布时间: 2011-12-27
SCOPE_IDENTITY
作者: ju523756055 发布时间: 2011-12-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28