最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

SqlServer自增列的问题

来源:动视网 责编:小采 时间:2020-11-09 07:55:03
文档

SqlServer自增列的问题

SqlServer自增列的问题:在SQL SERVER中可以使用三种方法来获取系统生成的标识值: @@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 这三个函数都返回最后生成的标识值。但是,它们在定义最后的作用域和会话上不同。 @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成
推荐度:
导读SqlServer自增列的问题:在SQL SERVER中可以使用三种方法来获取系统生成的标识值: @@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 这三个函数都返回最后生成的标识值。但是,它们在定义最后的作用域和会话上不同。 @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成


在SQL SERVER中可以使用三种方法来获取系统生成的标识值: @@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 这三个函数都返回最后生成的标识值。但是,它们在定义"最后"的作用域和会话上不同。 @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识

在SQL SERVER中可以使用三种方法来获取系统生成的标识值:
@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 这三个函数都返回最后生成的标识值。但是,它们在定义"最后"的作用域和会话上不同。

  • @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
  • SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。
  • IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。
  • @@IDENTITY

    返回最后插入的标识值。

    语法
    @@IDENTITY

    返回类型
    numeric

    注释
    在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值。如果此语句激发一个或多个执行产生标识值的插入操作的触发器,则语句执行后立即调用 @@IDENTITY 将返回由触发器产生的最后的标识值。若 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或事务被回滚,则 @@IDENTITY 值不会还原为以前的设置。

    如果在你进行insert操作的时间和检查@@IDENTITY的时间之间有另一个insert操作被执行,@@IDENTITY返回的不是系统为你的insert所生成的标识值,而是它为最近的一个insert操作所生成的标识值。

    SCOPE_IDENTITY

    返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。

    ……

    更多 http://blog.csdn.net/vince6799/archive/2006/05/14/727925.aspx


    根据引用的解释看,似乎 @@Identity 的返回类型是固定的,而对于 c# 大概就是 Decimal 了。你换用 SCOPE_IDENTITY 之类的试试呢,看解释它似乎是忠于原类型的。

    文档

    SqlServer自增列的问题

    SqlServer自增列的问题:在SQL SERVER中可以使用三种方法来获取系统生成的标识值: @@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 这三个函数都返回最后生成的标识值。但是,它们在定义最后的作用域和会话上不同。 @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成
    推荐度:
    标签: 可以 问题 sql
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top