手机版

sql Server中复位身份标识

时间:2021-08-04 来源:互联网 编辑:宝哥软件园 浏览:

类型:数据库类大小:8.0M语言:中文评分:10.0标签:立即下载身份(标识)列,也有很多人称之为自增列,在SQL Server 2000中,标识列通过身份来定义,下面是与获取最后插入记录的标识值有关的函数的一个示例说明

数据库中,可以使用SCOPE_IDENTITY()、@IDENTITY、IDENT_CURRENT()来取得最后插入记录的值值,它们的区别在于:SCOPE_IDENTITY()返回插入到同一作用域中的身份列内的最后一个身份值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中@@IDENTITY返回在当前会话的所有表中生成的最后一个标识值IDENT_CURRENT()返回为任何会话和任何作用域中的指定表最后生成的标识值

当一个表中的记录删除后如果再新加,SQL会在原来的身份基础上增加。我们可以用下面的命令来复位

DBCCCHECKIDENT(表名,RESEED,0)

下面是从一个朋友的博客上传过来的。清空整个数据库的结构化查询语言语句

setNocountOnDeclare @ TableNameVarChar(512)Declare @ SqLVARCHAR(2048)SET @ TableName=' ' while exists(-FindAllchildTables and ose have or relations selectt。来自information _ SCHEMA的表名.tabletleftoentjoininformation _ SCHEMA .TABLE _ constraintstcont。表名=TC。表名,其中(TC。约束类型='外键' ORTC。约束类型为空)和t . TABLE _ name notin(' dt属性',' sysconstraints ',' syssegments ')和Table_type='BASETABLE '和从information _ SCHEMA中选择@ TABLE name=min(t . TABLE _ name ).tabletleftoentjoininformation _ SCHEMA .TABLE _ constraintstcont。表名=TC。表名,其中(TC。约束类型='外键'或。约束类型为空)和t . TABLE _ name notin(' dt属性',' sysconstraints ',' syssegments ')和Table_type='BASETABLE '和T.table_name@TableName -截断表集@SQL='截断表@ TableName print(@ SQL)Exec(@ SQL)EndSET @ TableName=' whiweexists(-findalparenttableselectt。TABLE _ nameptableleftoentjoininformation _ SCHEMA .TABLE _ CONSTRAINTSTCONT。表名=TC。TABLE _ NAmE,其中TC。constraint _ TYPe=' PrimaryKey ' AnD t . TABLE _ name ' dt properties ' AnD TABLE _ TYPe=' BASETABLE ' ANt。开始从信息模式中选择@表名=最小值.tabletleftoentjoininformation _ SCHEMA .TABLE _ constraintstcont。表名=TC。表_名称,其中TC。' constraint _ Type=' primary key '和t . TABLE _ name ' dt properties '和TABLE _ Type=' base TABLE '和t . TABLE _ name @ TableName-delete tableset @ SQL=' delete from ' @ TableName print(@ SQL)Exec(@ SQL)-ResetidentitycolumnIFEXISTS(SELECT * from information _ SCHEMA). '列SWHERECOLUMN属性(对象标识(引用名称(表模式)。”QUOTENAME(@tableName))、column_name、' isi identity ')=1)DBCCCHECKIDENT(@ tableName,RESEED,0)endsetnocountooff

1、先找出没有外键约束的表,截断2,有外键的表,先删除,再复位身份列于是得出,语句丁(注意没有使用游标)

版权声明:sql Server中复位身份标识是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。