重置sql server標(biāo)識列
sql server標(biāo)識列是大家非常熟悉的了,下面為您介紹了sql server標(biāo)識列重置的一些知識,如果您對sql server標(biāo)識列方面感興趣的話,不妨一看。
1、刪除表內(nèi)所有值并重置標(biāo)識值 TRUNCATE TABLE TableName
2、保持表的內(nèi)容,并重置自動編號列的SEED
DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)
如dbcc checkident ("bc_pos",reseed,1)即可,但如果表內(nèi)有數(shù)據(jù),則重設(shè)的值如果小于最大值可能會有問題,這時(shí)可以用 dbcc checkident("bc_pos",reseed)即可自動重設(shè)值。
3、判段一個(gè)表是否具有sql server標(biāo)識列
可以使用 objectPROPERTY 函數(shù)確定一個(gè)表是否具有 IDENTITY(標(biāo)識)列,用法:
Select OBJECTPROPERTY(OBJECT_ID('表名'),'Table HAS Identity')
如果有,則返回1,否則返回0
4、判斷某列是否是標(biāo)識列
可使用 COLUMNPROPERTY 函數(shù)確定 某列是否具有IDENTITY 屬性,用法
SELECT COLUMNPROPERTY( OBJECT_ID('表名'),'列名','IsIdentity')
如果該列為標(biāo)識列,則返回1,否則返回0
4、查詢某表標(biāo)識列的列名
SQL Server中沒有現(xiàn)成的函數(shù)實(shí)現(xiàn)此功能,實(shí)現(xiàn)的SQL語句如下
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns
WHERE TABLE_NAME='表名' AND COLUMNPROPERTY(
OBJECT_ID('表名'),COLUMN_NAME,'IsIdentity')=1
5、標(biāo)識列的引用
如果在SQL語句中引用標(biāo)識列,可用關(guān)鍵字IDENTITYCOL代替
例如,若要查詢上例中ID等于1的行,
以下兩條查詢語句是等價(jià)的
SELECT * FROM T_test WHERE IDENTITYCOL=1
SELECT * FROM T_test WHERE ID=1
6、獲取標(biāo)識列的種子值
可使用函數(shù)IDENT_SEED,用法:
SELECT IDENT_SEED ('表名')
7、獲取標(biāo)識列的遞增量
可使用函數(shù)IDENT_INCR ,用法:
SELECT IDENT_INCR('表名')
8、獲取指定表中最后生成的標(biāo)識值
可使用函數(shù)IDENT_CURRENT,用法:
SELECT IDENT_CURRENT('表名')
注意事項(xiàng):當(dāng)包含標(biāo)識列的表剛剛創(chuàng)建,為經(jīng)過任何插入操作時(shí),使用IDENT_CURRENT函數(shù)得到的值為標(biāo)識列的種子值,這一點(diǎn)在開發(fā)數(shù)據(jù)庫應(yīng)用的時(shí)候尤其應(yīng)該注意。
【編輯推薦】