
- SQL 教程
- SQL - 首頁
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 資料庫
- SQL - 語法
- SQL - 資料型別
- SQL - 運算子
- SQL - 表示式
- SQL 資料庫
- SQL - 建立資料庫
- SQL - 刪除資料庫
- SQL - 選擇資料庫
- SQL - 重新命名資料庫
- SQL - 顯示資料庫
- SQL - 備份資料庫
- SQL 表
- SQL - 建立表
- SQL - 顯示錶
- SQL - 重命名錶
- SQL - 截斷表
- SQL - 克隆表
- SQL - 臨時表
- SQL - 修改表
- SQL - 刪除表
- SQL - 刪除表資料
- SQL - 約束
- SQL 查詢
- SQL - 插入查詢
- SQL - 選擇查詢
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查詢
- SQL - 刪除查詢
- SQL - 排序結果
- SQL 檢視
- SQL - 建立檢視
- SQL - 更新檢視
- SQL - 刪除檢視
- SQL - 重新命名檢視
- SQL 運算子和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - 布林 (BIT) 運算子
- SQL - LIKE 運算子
- SQL - IN 運算子
- SQL - ANY, ALL 運算子
- SQL - EXISTS 運算子
- SQL - CASE
- SQL - NOT 運算子
- SQL - 不等於
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 運算子
- SQL - UNION 運算子
- SQL - UNION vs UNION ALL
- SQL - INTERSECT 運算子
- SQL - EXCEPT 運算子
- SQL - 別名
- SQL 連線
- SQL - 使用連線
- SQL - 內連線
- SQL - 左連線
- SQL - 右連線
- SQL - 交叉連線
- SQL - 全連線
- SQL - 自連線
- SQL - 刪除連線
- SQL - 更新連線
- SQL - 左連線 vs 右連線
- SQL - Union vs Join
- SQL 鍵
- SQL - 唯一鍵
- SQL - 主鍵
- SQL - 外部索引鍵
- SQL - 複合鍵
- SQL - 候選鍵
- SQL 索引
- SQL - 索引
- SQL - 建立索引
- SQL - 刪除索引
- SQL - 顯示索引
- SQL - 唯一索引
- SQL - 聚集索引
- SQL - 非聚集索引
- 高階 SQL
- SQL - 萬用字元
- SQL - 註釋
- SQL - 注入
- SQL - 託管
- SQL - Min & Max
- SQL - 空值函式
- SQL - 檢查約束
- SQL - 預設約束
- SQL - 儲存過程
- SQL - NULL 值
- SQL - 事務
- SQL - 子查詢
- SQL - 處理重複項
- SQL - 使用序列
- SQL - 自動遞增
- SQL - 日期和時間
- SQL - 遊標
- SQL - 公共表表達式
- SQL - Group By vs Order By
- SQL - IN vs EXISTS
- SQL - 資料庫調優
- SQL 函式參考
- SQL - 日期函式
- SQL - 字串函式
- SQL - 聚合函式
- SQL - 數值函式
- SQL - 文字和影像函式
- SQL - 統計函式
- SQL - 邏輯函式
- SQL - 遊標函式
- SQL - JSON 函式
- SQL - 轉換函式
- SQL - 資料型別函式
- SQL 有用資源
- SQL - 問答
- SQL - 快速指南
- SQL - 有用函式
- SQL - 有用資源
- SQL - 討論
SQL - IDENT_CURRENT() 函式
SQL 的IDENT_CURRENT()函式返回為指定表或檢視上的標識列生成的最後一個標識值。生成的最後一個標識值可以是任何會話和任何範圍。
當 IDENT_CURRENT 值為 NULL 時,表示該表從未包含行或已被截斷,在這種情況下,IDENT_CURRENT 函式返回種子值(種子是插入到表中載入的第一行的標識列中的值;預設值為 1)。
IDENT_CURRENT 類似於 SQL Server 標識函式 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 | +---------------------+