zoukankan      html  css  js  c++  java
  • SQL SERVER 随笔知识点

    1.SCOPE_IDENTITY()   和   @@IDENTITY 

    SCOPE_IDENTITY()   和   @@IDENTITY   的作用都是取得返回在当前会话中的任何表内所生成的最后一个标识值,简单的说就是在执行一条插入语句之后使用@@IDENTITY的全局变量,取得插入记录的ID号但是有个问题就是,@@IDENTITY是全局的,所以在他的功能会体现在所有作用域,一个操作,一个触发器,一个存储过程叫做一个作用域,这时候如果出现多个作用域的情况的时候,@@IDENTITY所取得的ID号就是最后一个作用域产生的结果。这时候我们要使用SCOPE_IDENTITY方法来作了。SCOPE_IDENTITY()   只返回插入到当前作用域中的值;@@IDENTITY   不受限于特定的作用域。

    eg:上一条SQL 语句是insert into  T ,其中T表某个字段是自增类型, 插入完成后,使用set @var=SCOPE_IDENTITY(), 就可以获取到T表最新记录行的自增序列号,将之插入到表T1中,表T和T1 则通过此ID值,作为数据关联条件

    PS:在插入某些自增表的时候,需要将其打开:
    语法:SET   IDENTITY_INSERT   TableName   ON

    2. 删除大量数据行的表,如果耗时比较久的话,可能会升级到表锁,可以批量删除,

    SET ROWCOUNT 500
    delete_more:
         delete from [test_delete] where age>4000
    IF @@ROWCOUNT > 0 GOTO delete_more
    SET ROWCOUNT 0
  • 相关阅读:
    21天学通 C++(第8版) 内涵目录
    Python Linux系统管理与自动化运维
    零起点PYTHON足彩大数据与机器学习实盘分析
    Elasticsearch探索之路的障碍
    WEB程序设计 第7版
    Qt使用电容屏
    Hi3531D 交叉编译 Qt5.12.8
    Hi3531D 静态交叉编译 Qt5.13.2
    Qt 常用JSON解析示例
    Windows下搭建UBuntu + Qt 5开发环境
  • 原文地址:https://www.cnblogs.com/gudaozi/p/13091206.html
Copyright © 2011-2022 走看看