关于SET IDENTITY_INSERT !!!
来源:互联网 发布:js数组追加数据 编辑:程序博客网 时间:2024/05/19 13:29
/* 如果插入记录的标识值大于表的当前标识值,则SQL Server自动将新插入值作为当前标识值使用*/
create table tb (id int identity(1,1),col int)
go
set identity_insert tb on
insert tb values(10,1)
set identity_insert tb off
insert tb(col) values(20) ----------标识列从最新的状态开始递增
select *
from tb
/*-----------------------*/
id col
10 1
11 20
--3. 如果插入记录的标识值小于表的当前标识值,则表的当前标识值不受新插入值的影响
--测试的表
CREATE TABLE tb(id int IDENTITY(1,1),col int)
INSERT tb VALUES(1)
INSERT tb VALUES(2)
--强制在表中插入标识值
SET IDENTITY_INSERT tb ON
INSERT tb(id,col) VALUES(1,11)
SET IDENTITY_INSERT tb OFF
INSERT tb(col) VALUES(3)
SELECT * FROM tb
/*--结果
id col
----------------- -----------
1 1
2 2
1 11
3 3
--测试资料
CREATE TABLE t1(ID int IDENTITY,A int)
INSERT t1 VALUES(1)
INSERT t1 VALUES(2)
INSERT t1 VALUES(3)
DELETE FROM t1 WHERE A=2
GO
--将ID=3的记录的ID值改为2
SET IDENTITY_INSERT t1 ON
INSERT t1(ID,A) SELECT 2,A FROM t1 WHERE ID=3
DELETE FROM t1 WHERE ID=3
SET IDENTITY_INSERT t1 OFF
SELECT * FROM t1
/*--结果
ID A
----------------- -----------
1 1
2 3
--*/
对应于
id a
1 1
3 3(因为第二条记录删除了,所以id不连续了)
- 关于SET IDENTITY_INSERT !!!
- SET IDENTITY_INSERT
- SET IDENTITY_INSERT
- SET IDENTITY_INSERT
- SET IDENTITY_INSERT
- SET IDENTITY_INSERT
- SET IDENTITY_INSERT
- SET IDENTITY_INSERT
- SET IDENTITY_INSERT的用法
- SET IDENTITY_INSERT[整理]
- SET IDENTITY_INSERT 的用法
- SET IDENTITY_INSERT 学习心得
- SET IDENTITY_INSERT 学习心得【转载】
- SET IDENTITY_INSERT 学习心得
- SET IDENTITY_INSERT 学习心得
- SET IDENTITY_INSERT-学习心得
- SET IDENTITY_INSERT On error
- SET IDENTITY_INSERT 自增
- 2006-9-28
- 竞争优势究竟是什么?
- Tomcat JNDI
- 游戏中音频的处理
- Javascript 的灾难性错误。
- 关于SET IDENTITY_INSERT !!!
- 最终还是哭了[By tina]
- Friends: New words and expressions
- 暴走后
- 也批80/20原理
- 如何使vmware虚拟机中的操作系统能够上网?
- J2EE编码问题
- some understanding about Java
- 从来都没有神[by Ivan]