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
广告