SQL - IDENT_SEED() 函式



種子是插入到表中載入的第一行的標識列中的值;預設值為 1。換句話說,我們可以說種子值是任何指定列的起始編號。

SQL 的IDENT_SEED()函式返回原始種子值。當我們在表或檢視中建立標識列時,應指定種子值。

即使我們使用 DBCC CHECKIDENT 更改當前標識值,IDENT_SEED 函式返回的值也不會改變。

例如 -

在這種情況下,我們添加了一個像這樣的標識列

IDENTITY(SEED, INCREMENT) == IDENTITY(1, 2) 

因此,1 是標識列的 SEED 值。

此函式返回數值,數值資料型別的範圍為 (38, 0)。

語法

以下是 SQl IDENT_SEED() 函式的語法 -

SELECT IDENT_SEED('table_or_view');

其中 table_or_view 是要檢查標識種子值的表或檢視的名稱。table_or_view 可以是用引號括起來的字元字串常量、變數、函式或列名。

示例

讓我們看看 SQL 中 IDENT_SEED 函式的示例

為了演示這一點,我們使用 CREATE 語句建立了兩個名為“TBL_AAA”和“TBL_BBB”的表,這兩個表都包含一個標識列,如下所示。

CREATE TABLE TBL_AAA(
   ID INT IDENTITY(2, 1),
   NAME VARCHAR(30)
   );
CREATE TABLE TBL_BBB(
   ID INT IDENTITY(3, 2),
   NAME VARCHAR(30)
   );

現在,我們必須使用 SELECT 語句顯示建立的表。

-- TBL_AAA Table -
SELECT * FROM TBL_AAA;
-- TBL_BBB Table -
SELECT * FROM TBL_BBB;

讓我們在使用 IDENT_SEED 函式插入任何記錄之前檢視這些表的標識列的 SEED 值。

以下是查詢 -

-- TBL_AAA Table -
SELECT IDENT_SEED('TBL_AAA') AS seed_Value;
-- TBL_BBB Table -
SELECT IDENT_SEED('TBL_BBB') AS seed_Value;

輸出

以下是上述查詢的輸出,它顯示了標識列的種子值,即 TBL_AAA 為 2,TBL_BBB 為 3。

 TBL_AAA Table −
+----------------+
|    seed_Value  |
+----------------+
|             2  |
+----------------+
 TBL_BBB Table −
+----------------+
|    seed_Value  |
+----------------+
|             3  |
+----------------+

示例

在以下示例中,我們將在兩個表中插入記錄,並顯示這些表的標識列的種子值。

讓我們使用 INSERT 語句將記錄插入這些表。

-- TBL_AAA Table -
INSERT INTO TBL_AAA (NAME) VALUES('tutorialspoint');
INSERT INTO TBL_AAA (NAME) VALUES('Sarika Singh');
-- TBL_BBB Table -
INSERT INTO TBL_BBB (NAME) VALUES('tutorix');
INSERT INTO TBL_BBB (NAME) VALUES('Aman');
INSERT INTO TBL_BBB (NAME) VALUES('Vivek');

讓我們使用 SELECT 語句顯示插入的記錄。

-- TBL_AAA Table -
SELECT * FROM TBL_AAA;
-- TBL_BBB Table -
SELECT * FROM TBL_BBB;

以下是 TBL_AAA 表的詳細資訊,其中 ID 值從 2 開始,因為種子為 2 且遞增 1 -

+----+-----------------+
| ID |  NAME           |
+----+-----------------+
|  2 |  tutorialspoint |
+----+-----------------+
|  3 |	Sarika Singh   |
+----+-----------------+

以下是 TBL_BBB 表的詳細資訊,其中 ID 值從 3 開始,因為種子為 3 且遞增 2 -

+----+-----------+
| ID |  NAME     |
+----+-----------+
|  3 |  tutorix  |
+----+-----------+
|  5 |	Aman     |
+----+-----------+
|  7 |  Vivek    |
+----+-----------+

讓我們在插入記錄後使用 IDENT_SEED 函式檢視標識列的 SEED 值。

以下是查詢 -

-- TBL_AAA Table -
SELECT IDENT_SEED('TBL_AAA') AS Increment_Value;
-- TBL_BBB Table -
SELECT IDENT_SEED('TBL_BBB') AS Increment_Value;

輸出

以下是上述查詢的輸出,它顯示了兩個表的標識列的 SEED 值 -

 TBL_AAA Table −
+----------------+
|    seed_Value  |
+----------------+
|             2  |
+----------------+
 TBL_BBB Table −
+----------------+
|    seed_Value  |
+----------------+
|             3  |
+----------------+
sql-datatype-functions.htm
廣告