CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

有一个小问题向高手请教

楼主popwass(pop)2006-03-04 20:52:09 在 MS-SQL Server / 应用实例 提问

在sql库中的表中,有一个字段是记作编号用的,是从1开始,每次加入一条记录,系统自动加1,怎么样能把这个字段恢复为初始值? 问题点数:20、回复次数:5Top

1 楼wgsasd311(自强不息)回复于 2006-03-04 20:57:02 得分 0

DBCC   CHECKIDENT   (   'table_name',   RESEED   ,0   )Top

2 楼popwass(pop)回复于 2006-03-04 20:59:41 得分 0

不是很明白,能解释一下吗?Top

3 楼wgsasd311(自强不息)回复于 2006-03-04 22:56:17 得分 0

DBCC   CHECKIDENT  
  检查指定表的当前标识值,如有必要,还对标识值进行更正。  
   
  语法  
  DBCC   CHECKIDENT  
          (   'table_name'  
                  [   ,   {   NORESEED  
                                  |   {   RESEED   [   ,   new_reseed_value   ]   }    
                          }    
                  ]    
          )  
   
  参数  
  'table_name'  
   
  是要对其当前标识值进行检查的表名。表名必须符合标识符规则。有关更多信息,请参见使用标识符。指定的表必须包含标识列。  
   
  NORESEED  
   
  指定不应更正当前标识值。  
   
  RESEED  
   
  指定应该更正当前标识值。  
   
  new_reseed_value  
   
  是在标识列中重新赋值时要使用的值。  
   
  注释  
  如有必要,DBCC   CHECKIDENT   会更正列的当前标识值。然而,如果标识列是使用   NOT   FOR   REPLICATION   子句(在   CREATE   TABLE   或   ALTER   TABLE   语句中)创建的,则不更正当前标识值。  
   
  如果标识列上有主键或唯一键约束,无效标识信息可能会导致错误信息   2627。  
   
  对当前标识值所做的具体更正取决于参数规范。  
   
  DBCC   CHECKIDENT   语句   所做的标识更正    
  DBCC   CHECKIDENT   ('table_name',   NORESEED)   不重置当前标识值。DBCC   CHECKIDENT   返回一个报表,它指明当前标识值和应有的标识值。    
  DBCC   CHECKIDENT   ('table_name')   或  
  DBCC   CHECKIDENT   ('table_name',   RESEED)   如果表的当前标识值小于列中存储的最大标识值,则使用标识列中的最大值对其进行重置。    
  DBCC   CHECKIDENT   ('table_name',   RESEED,   new_reseed_value)   当前值设置为   new_reseed_value。如果自创建表后没有将行插入该表,则在执行   DBCC   CHECKIDENT   后插入的第一行将使用   new_reseed_value   作为标识。否则,下一个插入的行将使用   new_reseed_value   +   1。如果   new_reseed_value   的值小于标识列中的最大值,以后引用该表时将产生   2627   号错误信息。    
   
   
  当前标识值可以大于表中的最大值。在此情况下,DBCC   CHECKIDENT   并不自动重置当前标识值。若要在当前标识值大于列中的最大值时对当前标识值进行重置,请使用两种方法中的任意一种:    
   
  执行   DBCC   CHECKIDENT   ('table_name',   NORESEED)   以确定列中的当前最大值,然后使用   DBCC   CHECKIDENT   ('table_name',   RESEED,   new_reseed_value)   语句将该值指定为   new_reseed_value。  
   
   
  将   new_reseed_value   置为很小值来执行   DBCC   CHECKIDENT   ('table_name',   RESEED,   new_reseed_value),然后运行   DBCC   CHECKIDENT   ('table_name',   RESEED)。    
  结果集  
  不管是否指定任何选项(针对于包含标识列的表;下例使用   pubs   数据库的   jobs   表),DBCC   CHECKIDENT   返回以下结果集(值可能会有变化):  
   
  Checking   identity   information:   current   identity   value   '14',   current   column   value   '14'.  
  DBCC   execution   completed.   If   DBCC   printed   error   messages,   contact   your   system   administrator.  
   
  权限  
  DBCC   CHECKIDENT   权限默认授予表所有者、sysadmin   固定服务器角色和   db_owner   固定数据库角色的成员且不可转让。  
   
  示例  
  A.   如有必要,重置当前标识值  
  下例在必要的情况下重置   jobs   表的当前标识值。  
   
  USE   pubs  
  GO  
  DBCC   CHECKIDENT   (jobs)  
  GO  
   
  B.   报告当前标识值  
  下例报告   jobs   表中的当前标识值;如果该标识值不正确,并不对其进行更正。  
   
  USE   pubs  
  GO  
  DBCC   CHECKIDENT   (jobs,   NORESEED)  
  GO  
   
  C.   强制当前标识值为   30  
  下例强制   jobs   表中的当前标识值为   30。  
   
  USE   pubs  
  GO  
  DBCC   CHECKIDENT   (jobs,   RESEED,   30)  
  GO  
   
  Top

4 楼filebat(Mark)回复于 2006-03-05 00:59:58 得分 0

create   table   tt(   id   int   identity(1,   1),   name   varchar(10))  
  go  
  --insert   triples  
  insert   into   tt(name)   values('abc1')  
  insert   into   tt(name)   values('abc2')  
  select   *   from   tt  
   
  --reset   the   seed  
  DBCC   CHECKIDENT   (tt,   RESEED,   1)  
  insert   into   tt(name)   values('abc1')  
  insert   into   tt(name)   values('abc2')  
  select   *   from   tt  
   
  --For   informations,   plz   press   F1   and   search   for"DBCC   CHECKIDENT"Top

5 楼popwass(pop)回复于 2006-03-05 09:36:59 得分 0

谢谢了Top

相关问题

  • 小妹向诸位大哥请教
  • ******向大家请教一个小问题
  • 向大家请教一个小问题!
  • sybase的小菜鸟向大家问好
  • 小问题,向各位请教
  • 向大家请教一个小问题
  • 一个小问题向大家请教——————————————————————
  • DAO向Access中存入小数?
  • 向上转型的小问题
  • 向各位请教,小问题

关键词

  • 语句
  • 执行
  • 信息
  • reseed
  • 标识值
  • dbcc checkident
  • 当前标识值
  • 表
  • 标识
  • noreseed

得分解答快速导航

  • 帖主:popwass

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo