SQL IDENT_CURRENT()函数

SQL IDENT_CURRENT()函数

SQL IDENT_CURRENT() 函数返回指定表或视图的标识列上生成的最后一个标识值。生成的最后一个标识值可用于任何会话和范围。

当IDENT_CURRENT值为NULL时,意味着该表从未包含行或已被截断,在这种情况下,IDENT_CURRENT函数返回种子值(种子值是插入到表中第一行的标识列的值;默认值为1)。

IDENT_CURRENT与SQL服务器标识函数SCOPE_IDENTITY和@@IDENTITY类似。这三个函数都返回最后生成的标识值。

  • IDENT_CURRENT返回任何会话和范围中指定表的最后生成的标识值。

  • SCOPE_IDENTITY返回当前会话和当前范围中任何表的最后生成的标识值。

  • @@IDENTITY返回当前会话中所有范围中任何表的最后生成的标识值。

    注意 −在具有连接的视图上使用IDENT CURRENT的结果为NULL。无论是只有一个连接表还是多个连接表都有标识列,这都适用。

语法

以下是SQL IDENT_CURRENT()函数的语法−

SELECT IDENT_CURRENT('table_or_view');

其中table_or_view是返回其标识值的表或视图的名称。table_or_view是一个没有默认值的varchar类型。

示例

让我们来看看SQL中IDENT_CURRENT函数的示例

为了演示这一点,我们使用CREATE语句创建了两个表,分别命名为”AAA”和”BBB”,这两个表都包含一个身份列,如下所示。

CREATE TABLE AAA(
   ID INT IDENTITY(1, 1),
   NAME VARCHAR(30)
   );

CREATE TABLE BBB(
   ID INT IDENTITY(1,1),
   NAME VARCHAR(30)
   );

现在,我们必须使用SELECT语句来显示创建的表格。

SELECT * FROM AAA;
SELECT * FROM BBB;

使用SQL的IDENT_CURRENT函数来查看这些表中的当前标识值。

以下是查询语句-

SELECT IDENT_CURRENT('AAA') AS LAST_IdentityValue;
SELECT IDENT_CURRENT('BBB') AS LAST_IdentityValue;

输出

以下是上述查询的输出结果,默认显示标识值为1。

AAA Table −
+---------------------+
| LAST_IdentityValue  |
+---------------------+
|                  1  |
+---------------------+
 BBB Table −
+---------------------+
| LAST_IdentityValue  |
+---------------------+
|                  1  |
+---------------------+

如我们所见,在上面的输出中,两个表的当前标识值都是1,这是标识列的种子值,因为尚未插入记录。

示例

在以下示例中,我们将插入一些值到这两个表中,并显示这些表的当前标识。

让我们使用INSERT语句向这些表中插入记录。

-- AAA Table -
INSERT INTO AAA (NAME) VALUES('tutorialspoint');
INSERT INTO AAA (NAME) VALUES('Sarika Singh');

-- BBB Table -
INSERT INTO BBB (NAME) VALUES('tutorix');
INSERT INTO BBB (NAME) VALUES('Aman');
INSERT INTO BBB (NAME) VALUES('Vivek');

让我们使用SELECT语句来显示插入的记录

-- AAA Table -
SELECT * FROM AAA;

-- BBB Table -
SELECT * FROM BBB;

以下是AAA表的详细信息-

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

以下是BBB表格的详细信息 −

+----+-----------------+
| ID |  NAME           |
+----+-----------------+
|  1 |  tutorix        |
+----+-----------------+
|  2 |   Aman          |
+----+-----------------+
|  3 |   Vivek         |
+----+-----------------+

使用IDENT_CURRENT函数来查看表中的最后一个身份值。

以下是查询:

-- AAA Table -
SELECT IDENT_CURRENT('AAA') AS LAST_IdentityValue;

-- BBB Table -
SELECT IDENT_CURRENT('BBB') AS LAST_IdentityValue;

输出

以下是上述查询的输出结果 –

AAA Table −
+---------------------+
| LAST_IdentityValue  |
+---------------------+
|                  2  |
+---------------------+
 BBB Table −
+---------------------+
| LAST_IdentityValue  |
+---------------------+
|                  3  |
+---------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程