• SQL server插入数据后,获取自增长字段的值


     
    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:返回当前会话当前作用域任何表生成的最后一个标识值 。
  • 相关阅读:
    nginx 09-Nginx部署https
    nginx 08-Nginx的rewrite规则
    nginx 07-Nginx缓存服务
    nginx 06-Nginx代理服务
    LBP及纹理表达 转自http://blog.sina.com.cn/s/blog_ba9d7d9901018k4v.html
    双边滤波与引导滤波
    层次聚类,转自http://blog.sina.com.cn/s/blog_62f3c4ef01014uhe.html
    有用的matlab函数(不断加入)
    显著目标检测思路
    matlab曲线、图形绘制方法(不断更新)
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/5545511.html
Copyright © 2020-2023  润新知