WEB开发网
开发学院数据库MSSQL Server SQL Server identity列的操作方法 阅读

SQL Server identity列的操作方法

 2007-09-13 09:48:33 来源:WEB开发网   
核心提示:SQL Server中,经常会用到Identity标识列,SQL Server identity列的操作方法,这种自增长的字段操作起来的确是比较方便,但它有时还会带来一些麻烦,有时候你可能想知道当前的种子,而不是想重设种子,这时你就要用到NORESEED, 示例一:当表中被删除了某些数据的时候,自增长列的编号就不再是一

SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便。但它有时还会带来一些麻烦。

示例一:当表中被删除了某些数据的时候,自增长列的编号就不再是一个连线的数列。这种时候我们可以用以下方案来解决。

SET IDENTITY_INSERT [TABLE] [ON|OFF]

允许将显式值插入表的标识列中,当设置为ON时,这时可能在INSERT操作时手工指定插入到标识列中的编号,同时必须在操作完成后,将IDENTITY_INSERT还原成OFF,否则下次插入的时候必须指定编号,那不然就无法完成INSERT操作。

示例二:当表中的记录被全部删除,但此时标识列的值越来越大的时候,如果不加以重置,它还会无休止的增长。这个时候我们就要用到:

DBCC CHECKIDENT(TABLE, [RESEED|NORESEED], [1])

将把指定表的种子值强制重设为1。然而,你可能不想将种子重设为1,在这种情况下,你可以用你想用的种子值替代第三个参数。有时候你可能想知道当前的种子,而不是想重设种子,这时你就要用到NORESEED,而不用再去顾忌第三个参数。

Tags:SQL Server identity

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接