SQL Server重置INDETITY的开始值

@@IDENTITY 和SCOPE_IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。建议谨慎使用@@identity。

IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 可以返回任何会话和任何作用域中为特定表生成的标识值。

DBCC CHECKINDNT可以查看指定表当前identity值,并且可以用它来重置INDENTITY的值

下面是DBCC CHECKIDENT的用法。

DBCC   CHECKIDENT   (TableName [,RESEED | NORESEED] [,value])

查看某个表中的Identity(自增列)当前值:DBCC   CHECKIDENT   (TableName)或DBCC CHECKINDET( TableName,NORESEED )

重置某个表中的Identity(自增列)当前值为value:DBCC   CHECKIDENT   (TableName, RESEED, value)

例如,把 test表中的 自增列 的当前值改为 1 可以用如下命令

DBCC  CHECKIDENT  (test, RESEED,1)

时间: 2024-08-24 13:08:42

SQL Server重置INDETITY的开始值的相关文章

SQL Server表分区的NULL值问题

SQL Server表分区的NULL值问题 SQL Server表分区只支持range分区这一种类型,往往会被大家吐槽 人家MySQL支持四种类型:RANGE分区.LIST分区.HASH分区.KEY分区 共同点是MySQL跟SQL Server也有分区对齐的问题,都是水平切分,大家都允许分区列存在NULL值 这次我们测试SQL Server表分区的分区列的NULL值,究竟NULL值是被存放在哪个区间,以前一直没有注意 测试脚本 --1.创建文件组 ALTER DATABASE [sss] ADD

SQL Server 重置Identity标识列的值(INT爆了)(转载)

一.背景 SQL Server数据库中表A中Id字段的定义是:[Id] [int] IDENTITY(1,1),随着数据的不断增长,Id值已经接近2147483647(int的取值范围为:-2 147 483 648 到 2 147 483 647)了,虽然已经对旧数据进行归档,但是这个表需要保留最近的1亿数据,有什么方法解决Id值就快爆的问题呢? 解决上面的问题有两个办法:一个是修改表结构,把Id的int数据类型修改为bigint:第二个是重置Id(Identity标识列)的值,使它重新增长.

PCB SQL SERVER 枚举分割函数(枚举值分解函数)

在SQL SERVER字段采用枚举值作为字段后,如果直接查看字段的值是很难判断这个字段的带表什么意思, 在这里介绍如用函数的方法实现枚举值分割,只有分割后才很方便知道枚举值的意思. 一.问题说明 1.如下为:单个枚举值清单如下 十进制带表枚举的值,每个值带表对应的工厂 单枚举: 1带表P1工厂,2带表P2工厂     ----通过对应,一眼看到对应关系 叠加枚举: 3带表P1与P2工厂                     ----简单叠加枚举,难度增大了就是不容易找到对应关系 难度再加大一点

sql server 自增列,值突然增大1000的情况

解决方法: 1 打开配置管理器2左面点击sql服务3右面 右键点击SQL Server(MSSQLSERVER) 4点击 启动参数5 在参数 里输入  -T272 点增加 原文地址:https://www.cnblogs.com/superfeeling/p/11774417.html

SQL Server中TEXT类型字段值在数据库中追加字符串方法

在数据上我们往往会遇到ntext大文本类型,这种类型如果和 nvarchar类型相加会出现问题,所以有一中方法可以解决这种问题. 使用的sql   函数: TEXTPTR:返回要更新的 text.ntext 或 image 数据的文本指针的值. UPDATETEXT :在适当的位置更改 text.ntext 或 image 列的一部分 WRITETEXT: 来更新和替换整个 text.ntext 或 image 字段 举例: CREATE TABLE [dbo].[aa]( [ID] [int]

SQL Server 删除表的默认值约束

首先查出字段的默认值约束名称,然后根据默认值约束名称删除默认值约束 declare @constraintName varchar(200) select @constraintName = b.name from syscolumns a,sysobjects b where a.id=object_id('TB_KYSubProject') and b.id=a.cdefault and a.name='Final_Belong_Programme' and b.name like 'DF%

<转>SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY

MSDN对官方解释:这三个函数都返回最后生成的标识值. 但是,上述每个函数中定义的“最后”的作用域和会话有所不同. 1.IDENT_CURRENT 返回为某个会话和当前作用域中的指定表生成的最新标识值. 如果 IDENT_CURRENT 值为 NULL(因为表从未包含行或已被截断),IDENT_CURRENT 函数将返回种子值. 2.@@IDENTITY 返回为跨所有作用域的当前会话中的某个表生成的最新标识值. 如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL. 如果插

SQL Server - Store procedure 如何返回值

存储过程 返回值 procedure return values : http://www.cnblogs.com/SunnyZhu/p/5542347.html return.select.output 返回值得区别: https://bbs.csdn.net/topics/360230222 如何在Store Procedure中调用其他Store Procedure中返回的记录集呢: https://bbs.csdn.net/topics/60166972 原文地址:https://www

Sql server 多列去重复值,相同的只显示一条数据

CREATE TABLE #tp( headerNo VARCHAR(10), machineNO VARCHAR(10), descrption nVARCHAR(20), artNo VARCHAR(20), qty INT , repartno varchar(20) , repqty INT) insert INTO #tp SELECT 'HD01','0101520',N'电池出问题','102020',2,'102020',2insert INTO #tp SELECT 'HD01