SQL - IDENT_INCR() 函式



增量是新增到指定標識列的值,並且隨著記錄的插入,列號將按指定數字遞增。

SQL 的IDENT_INCR() 函式返回標識列的增量值。建立標識列時應指定增量值。

例如:

在本例中,我們添加了一個標識列,如下所示:

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

因此,2 是標識列的增量值。

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

語法

以下是 SQL IDENT_INCR() 函式的語法:

SELECT IDENT_INCR('table_or_view');

其中 table_or_view 是返回其標識增量值的表或檢視的名稱。table_or_view 可以是用引號括起來的字元字串常量。

示例

讓我們看看 SQL IDENT_INCR() 函式在…中的示例

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

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

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

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

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

以下是查詢:

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

輸出

以下是上述查詢的輸出,顯示標識列的增量值,TBL_AAA 為 2,TBL_BBB 為 3

 TBL_AAA Table −
+---------------------+
|    Increment_Value  |
+---------------------+
|                  2  |
+---------------------+
 TBL_BBB Table −
+---------------------+
|    Increment_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:

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

以下是 TBL_BBB 表的詳細資訊,其中每個 ID 值都遞增 3:

+----+-----------+
| ID |  NAME     |
+----+-----------+
|  1 |  tutorix  |
+----+-----------+
|  4 |	Aman     |
+----+-----------+
|  7 |  Vivek    |
+----+-----------+

讓我們使用 IDENT_INCR 函式檢視插入記錄後標識列的增量值。

以下是查詢:

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

輸出

以下是上述查詢的輸出,顯示兩個表的標識列的增量值:

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