?
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插入数据后,获取自增长字段的值相关推荐

  1. Mybatis插入数据后获取主键的值

    Mybatis插入数据后获取主键的值 1. 所使用的数据库是支持自增的,且主键是自增的 <!-- 支持自增的数据库且主键是自增的:自动将插入后自增id的值赋值给传入的Employee的id--& ...

  2. SQL SERVER插入数据操作

    准备工作: 我需要一张User表,这张表有几个字段,还有一个自增长的数字id,表结构如下: 这是一张比现实应用中简单的多的用户表,UserID是自增长字段. 开始执行一个最简单的INSERT: ? 1 ...

  3. Sql Server插入数据并返回自增ID,@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的区别

    预备知识:SQLServer的IDENTITY关键字 IDENTITY关键字代表的是一个函数,而不是identity属性.在access里边没有这个函数,所以在access不能用这个语句.语法:ide ...

  4. SQL Server为数据表增加列(字段)的SQL语句

    下面是一个示例: ALTER TABLE TableName ADD NewField DECIMAL(18, 2) NOT NULL DEFAULT ((0)) 上面的代码为"TableN ...

  5. 在往sql server 插入数据时 报此错误“ 消息 8152,级别 16,状态 14,第 1 行 将截断字符串或二进制数据。”...

    出现该问题的原因是你插入的数据过大 eg:studentId这个字段数据类型为varchar(10),就说明数据库分配给了这个字段10个字节,而你往这个字段插入的数据是'111 111 111'(这个 ...

  6. 在进行sql语句插入的时候,提示:不能将值 NULL 插入列 ‘备注‘,表 ‘Test0417.dbo.tb_举例‘;列不允许有 Null 值。INSERT 失败。

    一.概述: 在进行sql语句插入的时候,提示:不能将值 NULL 插入列 '备注',表 'Test0417.dbo.tb_举例':列不允许有 Null 值.INSERT 失败.如下所示: 二.分析 首 ...

  7. SQL Server插入中文数据后出现乱码

    原文:SQL Server插入中文数据后出现乱码 今天在做项目的过程中遇到如标题的问题,情况如下图: 数据库使用的是SQL Server2012版本,创建表的脚本如下: CREATE TABLE [d ...

  8. SQL Server插入geography、geometry和c_hierarchyid类型数据

    SQL Server插入geography类型数据: INSERT INTO wht_g(c_geography)VALUES ( geography :: STGeomFromText ( 'POI ...

  9. mysql获取插入数据的id_mysql插入记录后获取插入数据的id值

    最近自己折腾点东西,使用mysql数据库的时候发现没有oracle的序列,插入数据前无法通过获取序列的方式拿到记录ID值,设置到关联表中进行关联. 在网上找了一些相关的资料,可以拿到最后一次插入的ID ...

最新文章

  1. iOS 轻击、触摸和手势的检测
  2. 入门月薪8k,3年经验年薪30w,大数据薪酬待遇竟这么高?
  3. MS SQL专用管理员连接DAC
  4. linux基础(1)-yum源配置
  5. 一顿家庭火锅让本不富裕的家庭雪上加霜......
  6. C#实现人脸识别【Users】
  7. .net mvc actionresult 返回字符串_ASP.NET Core中的Action的返回值类型
  8. 句子迷,语录,俞凌雄 2
  9. [笔记][随笔]近期小结
  10. 跨平台日志清理工具 Log-Cutter v2.0.1 RC-1 发布
  11. Visio绘制时间轴、日程安排图、时间进度图的方法
  12. C语言-快速排序实现
  13. pycharm怎么设置根目录?
  14. Spring学习笔记4
  15. python 3d绘图立方体_Python绘制立方体
  16. wifi服务器延迟高,网络延时高(网络延迟高怎么办(家里WIFI延迟高,教你几招搞定网络延迟))...
  17. Cadence导出gds文件
  18. 基于PID控制的电机速度闭环控制系统演示和讲解
  19. POJ2287 田忌赛马---贪心算法
  20. 柏楚的切割系统整合介绍

热门文章

  1. python3萌新入门笔记_我的Python3萌新入门笔记
  2. cuda笔记-初始化矩阵及thread,block,grid概念
  3. Java笔记-多线程中同步加锁相关
  4. OllyDbg笔记-修改Messagebox的标题
  5. Qt文档阅读笔记-Q_ASSERT的另外一总用法(大佬用法)
  6. php闭包 回调函数,PHP|PHP实践-闭包
  7. numpy genfromtxt 读取字符_numpy组队学习1: 输入输出
  8. 算法题1 大数字运算(输出时不显示前面多余的0)
  9. LeetCode:892. 三维形体的表面积
  10. 1-2:网络初识之了解OSI和TCP/IP及网络分层(物理层,数据链路层,网路层,传输层,应用层)