http://www.jb51.net/article/39029.htm

本篇文章是对使用SQL Server获取插入记录后的ID(自动编号)的方法进行了详细的分析介绍,需要的朋友参考下

最近在开发项目的过程中遇到一个问题,就是在插入一条记录的后要立即获取所在数据库中ID,而该ID是自增的,怎么做?在sql server 2005中有几种方式可以实现。
要获取此ID,最简单的方法就是在查询之后select @@indentity
--SQL语句创建数据库和表

复制代码 代码如下:

create database dbdemo
go
use dbdemo
go
create table tbldemo
(
    id int primary key identity(1,1),
    name varchar(20)
)
go

--执行下面SQL语句就能查出来刚插入记录对应的自增列的值
insert into tbldemo values('测试') select @@identity
SQL Server 2000中,有三个比较类似的功能:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。

1)IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值,它不受作用域和会话的限制,而受限于所指定的表。
  2)@@IDENTITY返回为当前会话的所有作用域中的任何表最后生成的标识值。
  3) SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。

SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。
例如,有两个表 T1 和 T2,在 T1 上定义了一个 INSERT 触发器。当将某行插入 T1 时,触发器被激发,并在 T2 中插入一行。此例说明了两个作用域:一个是在 T1 上的插入,另一个是作为触发器的结果在 T2 上的插入。

假设 T1 和 T2 都有 IDENTITY 列,@@IDENTITY 和 SCOPE_IDENTITY 将在 T1 上的 INSERT 语句的最后返回不同的值。@@IDENTITY 返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值,该值是插入 T2 中的值。

使用SQL Server 获取插入记录后的自增ID(自动编号)相关推荐

  1. 使用SQL Server 获取插入记录后的ID(自动编号)

    使用SQL Server 获取插入记录后的ID(自动编号) jingxian 本篇文章是对使用SQL Server获取插入记录后的ID(自动编号)的方法进行了详细的分析介绍,需要的朋友参考下 最近在开 ...

  2. mysql c接口返回自增id_详解mysql插入数据后返回自增ID的七种方法

    引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...

  3. mysql 新增返回主键自增id_详解mysql插入数据后返回自增ID的七种方法

    引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...

  4. mysql插入数据后返回自增id

    mysql插入数据后返回自增id 使用<insert 中的useGeneratedKeys 和 keyProperty 两个属性 在Mybatis Mapper文件中添加属性 useGenera ...

  5. [导入]C#向Sql Server中插入记录时单引号的处理

    ASP.Net种使用C#, 向CoreDB.myBBS表中插入记录值(Title, Content)[文章的标题和内容],由于Content, Title中可能包含单引号,直接使用sql的insert ...

  6. SQL SERVER 2000数据库,转换为ACCESS数据库(已解决ACCESS自动编号问题)

    第一步:打开你的"开始菜单",打开"程序"->SQL server enterprise mananger "企业管理器"  在你要导 ...

  7. mybatis 插入数据后返回自增id

    useGeneratedKeys="true" keyProperty="id"> sql全部内容: <insert id="insert ...

  8. 七种MYSQL插入数据后返回自增主键ID的方法

    我们都知道,mysql中的insert插入之后会有返回值,返回的是影响的行数,也就是说,成功插入一条数据之后返回的是1,失败则返回0.那么,很多时候我们都想要得到最后插入的id值,下面七种方法均可,结 ...

  9. SQL Server中的筛选后的统计信息和CE模型变化

    In this blog post, we are going to view some interesting model variation, that I've found while expl ...

最新文章

  1. STL nth_element
  2. 详解:开通IIS的FTP服务器并添加多个FTP用户
  3. Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题)
  4. Java 9 - 17 特性解读:Java 11
  5. 你的手机上未安装应用程序”的解决方案
  6. .NET 5 程序高级调试-WinDbg
  7. java 泛型 父子_使用通配符和泛型:完成父子类关系的List对象的类型匹配
  8. java jsp session_JSP中Session的使用
  9. 要成为一个 Java 架构师得学习哪些知识?
  10. 带你用Python玩转PPT
  11. java SSM(Spring+SpringMVC+MyBatis)maven项目 intellij idea 2017配置 MAC,(Linux,ubuntu,centos 只要更改相应目录即可)
  12. stvd使用c语言编程,stm8编程tips(stvd)
  13. jwplayer播放器
  14. vc830l 说明书_有了解vc830l万用表使用方法的吗?
  15. Justinmind使用教程(1)——概述部分
  16. CMD No compiler is provided in this environment. Perhaps you are running on
  17. 基于@Valid注解自定义参数校验
  18. win10 使用wireshark抓包本地localhost请求
  19. 北京2008年奥运会体育图标
  20. error: %preun(mysql-community-server-5.7.36-1.el6.x86_64) scriptlet failed

热门文章

  1. 众里资讯——盗版工具KMSpico暗藏恶意程序
  2. 安卓7.1系统源码 屏蔽系统home键 (平台msm8909)
  3. linux服务器u盘启动失败怎么办,U盘安装Linux启动失败问题(grub)
  4. [MM32生态]如何使用不带SLCD控制器的MCU IO直接驱动段码屏
  5. MongoDB 聚合管道
  6. [转]ASP.NET MVC3 新手教程:Hellow简单示例
  7. lamp mysql 日志_实现lamp架构及统一日志管理
  8. 读《JavaServer Faces 核心编程(第3版)》一书的记录—— 第 6 章 数据库——案例 headersAndFooters
  9. 若依前后端分离+帆软报表 快速建立网站及后台管理功能
  10. MySQL中存储具有不定列的数据-EAV模型