IDENT_INCR (Transact-SQL)

傳回在含有識別欄位的資料表或檢視中建立識別欄位期間所指定的遞增值 (以 numeric (**@@**MAXPRECISION,0) 傳回)。

主題連結圖示Transact-SQL 語法慣例

語法

IDENT_INCR ( 'table_or_view' )

引數

  • 'table_or_view'
    這是指定資料表或檢視來檢查有效的識別遞增值的運算式。table_or_view 可以是變數、函數、資料行名稱,或加上引號的字元字串常數。table_or_view 是 nchar、nchar、varchar 或 nvarchar。

傳回類型

numeric

例外

當發生錯誤,或呼叫者沒有檢視物件的權限時,便會傳回 NULL。

在 SQL Server 中,使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。這表示發出中繼資料的內建函數 (例如,IDENT_INCR) 會在使用者不具有該物件任何權限時傳回 NULL。如需詳細資訊,請參閱<中繼資料可見性組態>和<中繼資料可見性疑難排解>。

範例

A. 傳回指定資料表的遞增值

下列範例會傳回 AdventureWorks 資料庫中 Person.Address 資料表的遞增值。

USE AdventureWorks;
GO
SELECT IDENT_INCR('Person.Address') AS Identity_Increment;
GO

B. 傳回多個資料表的遞增值

下列範例會傳回 AdventureWorks 資料庫中含有遞增值之識別欄位的資料表。

USE AdventureWorks;
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