取得刚刚插入sql server自增长的id值

原创 2004年07月07日 13:57:00
对于SQL Server 2000来说,它提供了两个全新的函数(IDENT_CURRENT,SCOPE_IDENTITY),并且改进了@@IDENTITY的不足.当你插入新记录后,可以调用函数:
    PRINT IDENT_CURRENT('table') '这将获得新的IDENTITY值,不管数据库中是不是有记录添加(这就避免了@@IDENTITY的连接限制)
    或者:PRINT SCOPE_IDENTITY() '这将获得在当前存储过程,触发器等其他程序创建的最新记录的IDENTITY值.
  而全局变量@@IDENTITY有一个问题,当对一张表执行insert时,如果该表有触发器程序在执行插入操作,然后,接着在另一张表中插入记录,这样返回@@IDENTITY值就是第二张表的IDENTITY值。
  如果你用的不是SQL Server 2000,你最好一个简单的存储过程来解决这个问题。
CREATE PROCEDURE myProc
    @param1 INT
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO someTable
    (
        intField
    )
    VALUES
    (
        @param1
    )
    SET NOCOUNT OFF
    SELECT NEWID = @@IDENTITY
END
在ASP中你可以这样做:
<%
    fakeValue = 5
    set conn = Server.CreateObject("ADODB.Connection")
    conn.open "<conn string>"
    set rs = conn.execute("exec myProc @param1=" & fakeValue)
    response.write "New ID was " & rs(0)
    rs.close: set rs = nothing
    conn.close: set conn = nothing
%>

Sql Server中如何取得刚刚插入的自增长的id值

我们知道,许多表的主键id是自增的,那么我们需要拿到插入过后那个插入的那条记录的id怎么办? 我们先看网上这样一种办法:   测试: 1.新建一个表  TBLINDEDITY   CREAT...
  • woshixuye
  • woshixuye
  • 2011年12月20日 22:09
  • 1820

如何取得刚刚插入sql server 自增长的id值

您正在看的SQLserver教程是:如何取得刚刚插入sql server 自增长的id值?。  对于SQL Server 2000来说,它提供了两个全新的函数(IDENT_CURRENT,SCOPE_...
  • keyunq
  • keyunq
  • 2007年11月01日 16:16
  • 1321

mysql 数据库 如何获取刚刚插入的自增长的id号

在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中常见的用法。但是在具体生成id的时候,我们的操作顺序一般是:先在...
  • Kindle_code
  • Kindle_code
  • 2016年01月17日 14:41
  • 948

Mysql 中获取刚插入的自增长id的值

Mysql 中获取刚插入的自增长id的值
  • xiyou_android
  • xiyou_android
  • 2015年12月01日 19:28
  • 2244

SQL Insert into 语句插入后返回新插入的自动增长ID

这里分两种情况, 第一存储过程中插入,插入后使用 SET @FID=@@IDENTITY 这个是一个全局变量,可以返回新插入的自动增长ID,然后在Out put出来就可以了。 第二种,...
  • sumirry
  • sumirry
  • 2015年09月15日 13:58
  • 5846

关于SQL SERVER中如何操作自增长ID_Identity

想获取插入记录对应的自增列的值,执行下面语句:insert into TableName values(Column_Value) select @@identity; 拓展:SQL Server中...
  • CDL_Darren
  • CDL_Darren
  • 2016年12月12日 10:31
  • 796

SQL server 在自增长的字段中插入指定值

自增长的字段一般都是根据已有数据字段自动编号,不能手动编辑、或按常用语句录入指定编号。 以下是在自增长的字段中插入指定值的语句: SET IDENTITY_INSERT 表名 ON INSERT...
  • woai671
  • woai671
  • 2015年08月19日 18:53
  • 326

SQL SERVER 中通过存储过程获得自增的主键值

解决这样的问题可以有两种方法,笔者在这里归为:预知法和后知法预知法预知法,其实相对简单一些,我们可以设置一个主键,但该主键不设置为自增,因为在插入前,我们自己通过程序的方法获得一个唯一的值作为我们的主...
  • juky_huang
  • juky_huang
  • 2006年07月09日 16:32
  • 6255

sql中得到刚刚插入的数据的id

LAST_INSERT_ID: LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。 在多用户交替插入数据的情况...
  • andy1219111
  • andy1219111
  • 2012年02月23日 14:50
  • 5656

SQL中得到刚刚插入的数据的id

在多用户交替插入数据的情况下max(id)显然不能用 1、LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的 Connection对象,LAST_INSERT_ID函数...
  • liuyunfan
  • liuyunfan
  • 2013年08月18日 18:58
  • 3596
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:取得刚刚插入sql server自增长的id值
举报原因:
原因补充:

(最多只允许输入30个字)