SQLServer2005 Output子句获取刚插入的ID值

语法很简单,比如

代码如下:

declare @t table (id uniqueidentifier default newid (), name varchar (100 ))
insert into @t (name ) output inserted .id select 'jinjazz' union select 'sqlserver'

/*输出类似
3880DB77-5ADF-472D-A68D-7518DD76F3B8
F478A3F5-A501-404E-A328-372EEC26279D
*/

(0)

相关推荐

  • 使用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),

  • 解析sql中得到刚刚插入的数据的id

    LAST_INSERT_ID:LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变.在多用户交替插入数据的情况下max(id)显然不能用. 这就该使用LAST_INSERT_ID了,因为LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的 Connection对象,LAST_INSERT_ID函数将返回该Connection对AUTO_INCREMENT列最新的insert or update

  • SQLServer2005 Output子句获取刚插入的ID值

    语法很简单,比如 复制代码 代码如下: declare @t table (id uniqueidentifier default newid (), name varchar (100 )) insert into @t (name ) output inserted .id select 'jinjazz' union select 'sqlserver' /*输出类似 3880DB77-5ADF-472D-A68D-7518DD76F3B8 F478A3F5-A501-404E-A328-

  • ThinkPHP写数组插入与获取最新插入数据ID实例

    本文实例讲述了thinkphp写数组插入与获取最新插入数据ID的实现方法.分享给大家供大家参考.具体方法分析如下: 该实例讲述了thinkphp怎么自己写数组插入,此处是以注册用户为例. 具体实现代码如下: 复制代码 代码如下: public function insert2(){  header("Content-Type:text/html; charset=utf-8");  $Dao = M("User"); // 构建写入的数据数组  $data[&quo

  • PHP获取MySql新增记录ID值的3种方法

    一.使用语句: 复制代码 代码如下: mysql_query("select max(id) from t1",$link); 使用此方法得到的是 id最大的值,确为最后一个值,但当多链接线程时,这个最大的id并不一定是我们插入数据的自增id值,因此不适用于多线程. 二,使用函数:msyql_insert_id(); 在PHP中,经常需要把插入数据库中的id值取出来,而正好有这么一个函数: 复制代码 代码如下: <?php //执行插入数据库的语句 //-- $getID=mys

  • .net实现oracle数据库中获取新插入数据的id的方法

    在sql sever中实现插入数据的自动增长是很容易的,但是在oracle数据库中实现这一操作不是很容易,同时要想在.net中实现获取新插入数据的id,而且不会出现读错的情况,就更显得困难了,为了解决在oracle数据中插入的数据能够自增id,同时获取新数据的id,并避免因并发操作而出现的id读错的问题. 数据表结构为test(id,name) 首先,解决数据id自增问题 创建一个序列sequence(sequence详解可从网上搜一下,这里不赘述) create sequence SEQ_te

  • 使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值

    分表除了表名的索引不同之外,表结构都是一样的,如果各表的'ID'字段仍采用'AUTO_INCREMENT'的方式的话,ID就不能唯确定一条记录了. 这时就需要一种处于各个分表之外的机制来生成ID,我们一般采用一张单独的数据表(不妨假设表名为'ticket_mutex')来保存这个ID,无论哪个分表有数据增加时,都是先到ticket_mutex表把ID值加1,然后取得ID值. 这个取ID的操作看似很复杂,所幸的是,MySQL提供了LAST_INSERT_ID机制,让我们能一步完成. 1.新建数据表

  • PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID

    前言 最近在工作中又遇到了这个问题,PHP中如何获得刚插入数据的ID(或当前发布文章的ID)呢?觉得有必要整理下详细的解决方法,方便自己也给有需要的朋友们提供以帮助,那么话不多说了,来看看详细的解决介绍. 解决方法 其实用 mysql_insert_id() 函数就可以实现的. 定义和用法 mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID. 注意:如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0. 语

  • php获得刚插入数据的id 的几种方法总结

    向mysql 插入数据时 很多时候 我们想知道刚刚插入数据的id 这对我们很有用 下面我说出常用的三种方法并一一分析其利与弊. 一 用以下语句: mysql_query("select max(id) from t1",$link); 使用这种方法时 我们得到得是 id最大的值 的确时最后一个 但当多链接线程时这个最大的id并不一定是 我们插入的所以这个不利用域线程. 二 用以下函数: msyql_insert_id(); 当系统执行完INSERT后,再执行SELECT时,可能已经被分

  • Mybatis如何获取最新插入数据的id

    目录 获取最新插入数据的id 原始方法 使用useGeneratedKeys 根据时间查询最新一条数据 第一种的xml配置根据最新的插入时间 第二种的xml配置根据ownum 获取最新插入数据的id 原始方法 读取最后一条的插入数据,但这样会造成如果两条数据同时插入,会并发出现错误 SELECT * FROM admin_users where 1=1 ORDER BY id desc  LIMIT 1 select MAX(id) from admin_users 使用useGenerated

  • Mybatis Plus插入数据后获取新数据id值的踩坑记录

    目录 问题描述: 解决方法: 总结 问题描述: Mybatis Plus的insert方法,按说插入数据后会自动返回id mapper方法: @DS("wxuser") @Mapper public interface UserInfoMapper extends BaseMapper<UserInfo> { } 业务类: @Autowired UserInfoMapper userInfoMapper; UserInfo user = new UserInfo(); us

  • MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例

    复制代码 代码如下: -->Title:Generating test data -->Author:wufeng4552 -->Date :2009-10-07 15:16:26 if object_id('ta')is not null drop table ta go create table ta(ID int identity,[name] varchar(10)) insert ta([name]) select 'a' union all select 'b' union

随机推荐