SQL SERVER ->> IDENTITY相关函数

本文详细介绍了SQL中的几种身份标识函数,包括IDENTITY用于生成自增长值,IDENT_INCR返回自动增长值,IDENT_SEED获取初始种子值,IDENT_CURRENT显示当前自动增长值,SCOPE_IDENTITY及@@IDENTITY分别用于获取当前模块内和会话内的最大自动增长值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IDENTITY函数 -- 只能用在SELECT INTO语句中,用于在插入数据的时候模拟IDENTITY属性的作用生成自增长值。

SELECT IDENTITY(int, 1,1) AS ID_Num  
INTO NewTable  
FROM OldTable;  

 

IDENT_INCR 函数 -- 返回表的自动增长值,比如我们希望每次增长1,那这个函数就会返回1.

USE AdventureWorks2012;  
GO  
SELECT TABLE_SCHEMA, TABLE_NAME,   
   IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_INCR  
FROM INFORMATION_SCHEMA.TABLES  
WHERE IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;  

 

IDENT_SEED 函数 -- 自动增长列的初始种子值

USE AdventureWorks2012;  
GO  
SELECT TABLE_SCHEMA, TABLE_NAME,   
   IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_SEED  
FROM INFORMATION_SCHEMA.TABLES  
WHERE IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;  
GO  

 

IDENT_CURRENT -- 表的IDENTITY列的当前自动增长值

USE AdventureWorks2012;  
GO  
SELECT TABLE_SCHEMA, TABLE_NAME,   
   IDENT_CURRENT (TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_SEED  
FROM INFORMATION_SCHEMA.TABLES  
WHERE IDENT_CURRENT (TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;  
GO  

 

 

SCOPE_IDENTITY() -- 当前模块内(存储过程)生成的最大自动增长值

 

@@IDENTITY -- 当前会话内生成的最大自动增长值

 

转载于:https://www.cnblogs.com/jenrrychen/p/5979232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值