SQL server插入数据后,获取自增长字段的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
insert into Tb_People(uname,era,amount) values ( '兆周' , '老年' , '10000' )
select @@identity
--当运行完插入语句后,执行select @@identity就可得到自动生成的id
--如果是sql server 最好用select SCOPE_IDENTITY() as id
--因为@@identity全局的
select SCOPE_IDENTITY() as id
select IDENT_CURRENT ( 'Tb_People' )
select MAX (id) from Tb_People
--SCOPE_IDENTITY
--返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。
--IDENT_CURRENT
--返回为任何会话和任何作用域中的指定表最后生成的标识值。这个函数需要一个以表名为值的变量,也就是说虽然不受会话和作用域的限制,却会受到表的限制。
--@@IDENTITY
--返回最后插入的标识值。
--体会:加上事务处理,两个函数一个变量没有本质区别。不加事务处理两个函数一个变量受到其他会话、作用域的影响不一样。
--一直以来都是使用@@identity来获得最后一个插入到表的记录的identity值,最近发现这种方法在某种情况是不可靠的,先来看看两个概念
--作用域:在SQL SERVER作用域就是一个模块-存储过程,触发器,函数或批处理
--会话: 一个用户连接产生的所有上下文信息
--相同点:都是返回最后插入的标识值
--不同点:
--@@identity:返回当前会话最后一个标识值,不限于特定的作用域;
--ident_current('tablename'):返回任何会话,任何作用域中的指定表中生成的最后一个标识值;
--scope_identity:返回当前会话当前作用域任何表生成的最后一个标识值 。
|
转载于:https://www.cnblogs.com/lvdongjie/p/5545511.html
SQL server插入数据后,获取自增长字段的值相关推荐
- Mybatis插入数据后获取主键的值
Mybatis插入数据后获取主键的值 1. 所使用的数据库是支持自增的,且主键是自增的 <!-- 支持自增的数据库且主键是自增的:自动将插入后自增id的值赋值给传入的Employee的id--& ...
- SQL SERVER插入数据操作
准备工作: 我需要一张User表,这张表有几个字段,还有一个自增长的数字id,表结构如下: 这是一张比现实应用中简单的多的用户表,UserID是自增长字段. 开始执行一个最简单的INSERT: ? 1 ...
- Sql Server插入数据并返回自增ID,@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的区别
预备知识:SQLServer的IDENTITY关键字 IDENTITY关键字代表的是一个函数,而不是identity属性.在access里边没有这个函数,所以在access不能用这个语句.语法:ide ...
- SQL Server为数据表增加列(字段)的SQL语句
下面是一个示例: ALTER TABLE TableName ADD NewField DECIMAL(18, 2) NOT NULL DEFAULT ((0)) 上面的代码为"TableN ...
- 在往sql server 插入数据时 报此错误“ 消息 8152,级别 16,状态 14,第 1 行 将截断字符串或二进制数据。”...
出现该问题的原因是你插入的数据过大 eg:studentId这个字段数据类型为varchar(10),就说明数据库分配给了这个字段10个字节,而你往这个字段插入的数据是'111 111 111'(这个 ...
- 在进行sql语句插入的时候,提示:不能将值 NULL 插入列 ‘备注‘,表 ‘Test0417.dbo.tb_举例‘;列不允许有 Null 值。INSERT 失败。
一.概述: 在进行sql语句插入的时候,提示:不能将值 NULL 插入列 '备注',表 'Test0417.dbo.tb_举例':列不允许有 Null 值.INSERT 失败.如下所示: 二.分析 首 ...
- SQL Server插入中文数据后出现乱码
原文:SQL Server插入中文数据后出现乱码 今天在做项目的过程中遇到如标题的问题,情况如下图: 数据库使用的是SQL Server2012版本,创建表的脚本如下: CREATE TABLE [d ...
- SQL Server插入geography、geometry和c_hierarchyid类型数据
SQL Server插入geography类型数据: INSERT INTO wht_g(c_geography)VALUES ( geography :: STGeomFromText ( 'POI ...
- mysql获取插入数据的id_mysql插入记录后获取插入数据的id值
最近自己折腾点东西,使用mysql数据库的时候发现没有oracle的序列,插入数据前无法通过获取序列的方式拿到记录ID值,设置到关联表中进行关联. 在网上找了一些相关的资料,可以拿到最后一次插入的ID ...
最新文章
- iOS 轻击、触摸和手势的检测
- 入门月薪8k,3年经验年薪30w,大数据薪酬待遇竟这么高?
- MS SQL专用管理员连接DAC
- linux基础(1)-yum源配置
- 一顿家庭火锅让本不富裕的家庭雪上加霜......
- C#实现人脸识别【Users】
- .net mvc actionresult 返回字符串_ASP.NET Core中的Action的返回值类型
- 句子迷,语录,俞凌雄 2
- [笔记][随笔]近期小结
- 跨平台日志清理工具 Log-Cutter v2.0.1 RC-1 发布
- Visio绘制时间轴、日程安排图、时间进度图的方法
- C语言-快速排序实现
- pycharm怎么设置根目录?
- Spring学习笔记4
- python 3d绘图立方体_Python绘制立方体
- wifi服务器延迟高,网络延时高(网络延迟高怎么办(家里WIFI延迟高,教你几招搞定网络延迟))...
- Cadence导出gds文件
- 基于PID控制的电机速度闭环控制系统演示和讲解
- POJ2287 田忌赛马---贪心算法
- 柏楚的切割系统整合介绍
热门文章
- python3萌新入门笔记_我的Python3萌新入门笔记
- cuda笔记-初始化矩阵及thread,block,grid概念
- Java笔记-多线程中同步加锁相关
- OllyDbg笔记-修改Messagebox的标题
- Qt文档阅读笔记-Q_ASSERT的另外一总用法(大佬用法)
- php闭包 回调函数,PHP|PHP实践-闭包
- numpy genfromtxt 读取字符_numpy组队学习1: 输入输出
- 算法题1 大数字运算(输出时不显示前面多余的0)
- LeetCode:892. 三维形体的表面积
- 1-2:网络初识之了解OSI和TCP/IP及网络分层(物理层,数据链路层,网路层,传输层,应用层)