IDENT_INCR (Transact-SQL)
傳回在含有識別欄位的資料表或檢視中建立識別欄位期間所指定的遞增值 (以 numeric (**@@**MAXPRECISION,0) 傳回)。
適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。 |
語法
IDENT_INCR ( 'table_or_view' )
引數
- ' table_or_view '
這是運算式,它會指定要檢查有效識別遞增值的資料表或檢視。 table_or_view 可以是加上引號的字元字串常數、變數、函數或資料行名稱。 table_or_view 是 char、nchar、varchar 或 nvarchar。
傳回類型
numeric
例外狀況
當發生錯誤,或呼叫端沒有檢視物件的權限時,便會傳回 NULL。
在 SQL Server 中,使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。 這表示發出中繼資料的內建函數 (例如,IDENT_INCR) 會在使用者不具有該物件任何權限時傳回 NULL。 如需詳細資訊,請參閱<中繼資料可見性組態>。
範例
A.傳回指定資料表的遞增值
下列範例會傳回 AdventureWorks2012 資料庫中 Person.Address 資料表的遞增值。
USE AdventureWorks2012;
GO
SELECT IDENT_INCR('Person.Address') AS Identity_Increment;
GO
B.傳回多個資料表的遞增值
下列範例會傳回 AdventureWorks2012 資料庫中含有遞增值之識別欄位的資料表。
USE AdventureWorks2012;
GO
SELECT TABLE_SCHEMA, TABLE_NAME,
IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_INCR
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
以下為部分結果集。
TABLE_SCHEMA TABLE_NAME IDENT_INCR
------------ ------------------------ ----------
Person Address 1
Production ProductReview 1
Production TransactionHistory 1
Person AddressType 1
Production ProductSubcategory 1
Person vAdditionalContactInfo 1
dbo AWBuildVersion 1
Production BillOfMaterials 1