SQL IDENT_SEED() 函数
种子是插入到表中第一行加载的标识列中的值;默认值为1。换句话说,我们可以说种子值是任何指定列的起始编号。
SQL IDENT_SEED() 函数返回原始种子值。在创建表或视图中的标识列时,应指定种子值。
IDENT_SEED函数返回的值即使使用DBCC CHECKIDENT更改当前标识值也不会发生变化。
示例
在这种情况下,我们添加了一个身份列,如下所示:
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)
);
Now, we have to show the created table using the SELECT statement.
-- TBL_AAA Table -
SELECT * FROM TBL_AAA;
-- TBL_BBB Table -
SELECT * FROM TBL_BBB;
在使用IDENT_SEED函数插入任何记录之前,让我们看看这些表的identity列的种子值。
以下是查询 −
-- TBL_AAA Table -
SELECT IDENT_SEED('TBL_AAA') AS seed_Value;
-- TBL_BBB Table -
SELECT IDENT_SEED('TBL_BBB') AS seed_Value;
输出
以下是上述查询的输出,其中显示了identity列的种子值,即TBL_AAA为2,TBL_BBB为3
TBL_AAA Table −
+----------------+
| seed_Value |
+----------------+
| 2 |
+----------------+
TBL_BBB Table −
+----------------+
| seed_Value |
+----------------+
| 3 |
+----------------+
示例
在下面的示例中,我们将在两个表中插入记录,并显示这两个表的identity列的种子值。
让我们使用insert语句将record插入到这些表中
-- 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表 -
SELECT * FROM TBL_AAA;
-- TBL_BBB表 -
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表 -
SELECT IDENT_SEED('TBL_AAA') AS Increment_Value;
-- TBL_BBB表 -
SELECT IDENT_SEED('TBL_BBB') AS Increment_Value;
输出
以下是上述查询的输出,显示了两个表的身份列的SEED值:
TBL_AAA表 -
+----------------+
| seed_Value |
+----------------+
| 2 |
+----------------+
TBL_BBB表 -
+----------------+
| seed_Value |
+----------------+
| 3 |
+----------------+