时间:2021-04-16
两种方法:
一种是用Truncate
TRUNCATE TABLE name
可以删除表内所有值并重置标识值
二是用DBCC CHECKIDENT
DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)
如dbcc checkident ("bc_pos",reseed,1)即可,但如果表内有数据,则重设的值如果小于最大值可能会有问题,这时可以用 dbcc checkident("bc_pos",reseed)即可自动重设值。
3、判段一个表是否具有标识列
可以使用 objectPROPERTY 函数确定一个表是否具有 IDENTITY(标识)列,用法:
Select OBJECTPROPERTY(OBJECT_ID('表名'),'TableHASIdentity')
如果有,则返回1,否则返回0
4、判断某列是否是标识列
可使用 COLUMNPROPERTY 函数确定 某列是否具有IDENTITY 属性,用法
SELECT COLUMNPROPERTY( OBJECT_ID('表名'),'列名','IsIdentity')
如果该列为标识列,则返回1,否则返回0
4、查询某表标识列的列名
SQL Server中没有现成的函数实现此功能,实现的SQL语句如下
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns
WHERE TABLE_NAME='表名' AND COLUMNPROPERTY(
OBJECT_ID('表名'),COLUMN_NAME,'IsIdentity')=1
5、标识列的引用
如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替
例如,若要查询上例中ID等于1的行,
以下两条查询语句是等价的
SELECT * FROM T_test WHERE IDENTITYCOL=1
SELECT * FROM T_test WHERE
6、获取标识列的种子值
可使用函数IDENT_SEED,用法:
SELECT IDENT_SEED ('表名')
7、获取标识列的递增量
可使用函数IDENT_INCR ,用法:
SELECT IDENT_INCR('表名')
8、获取指定表中最后生成的标识值
可使用函数IDENT_CURRENT,用法:
SELECT IDENT_CURRENT('表名')
注意事项:当包含标识列的表刚刚创建,为经过任何插入操作时,使用IDENT_CURRENT函数得到的值为标识列的种子值,这一点在开发数据库应用程序的时候尤其应该注意。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如果希望重新定义在表中添加新记录时该列中自动生成并存储于列中的序列号,则可以更改该列的标识属性。在每个表中只能设置一个列的标识属性。具有标识属性的列包含系统生成
改变列的数据类型[sql]ALTERTABLEvisitorMODIFYnamVARCHAR(30);追加新列[sql]ALTERTABLEvisitorADD
本编文章将要介绍重点解释如何在MsSqlServer中更新或添加一条记录后立即得到其标识列的值,这个值在ACCESS就是我们熟知的自动编号的ID值,好了,闲话不
WPS表格,比如在编号那一列有6位的,也有7位的,如果想要将这一列数设置为在前面加0填充到10位。首先,选中编号这一列。 2、点击右键,点击“
sql的max之类的聚合函数只能针对同一列的n行运算,如果对n列运算,一般都用case语句来判断,如果列少还比较容易写,列多了就麻烦了。------------