zoukankan      html  css  js  c++  java
  • 关于表变量

    1、表变量和临时表一样,当表足够小且SQLServer有足够的内存时,表变量的页驻留在缓存中。

    2、表变量的范围是明确定义的,它的范围被定义在当前级别的当前批处理范围内,与其他变量一样。

    3、表变量不是外部事物的组成部分。相反,它的事务被限制到语句级别以支持语句回滚。如果修改表变量的语句失败,则该语句的更改会被撤销。但是如果语句是外部事务的一部分,外部事务回滚后,对表变量已经完成的更改将不可撤销。

        假如要编写一个审核触发器,以审核对一些表的更改。如果满足一些逻辑条件,你希望能回滚这些更改,但你还是希望能审核这些更改尝试。如果你从inserted或deleted复制数据到审核表中,触发器中的回滚也会撤销这些操作。如果你先回滚这些更改然后尝试审核它们,这是deleted和inserted已经为空。

        要解决这个问题,先从inserted或deleted把数据复制到表变量中,再执行回滚操作,然后在触发器的新事务中把数据从表变量复制到审核表中。没有别的更简单的解决方案了。

    http://www.kissit.com.cn/
  • 相关阅读:
    Hive2.0函数大全(中文版)
    Centos7 安装并配置redis
    Java内部类
    beeline: 新版连接Hive server的工具
    jsoup的Document类
    Jsoup类
    jsoup的Node类
    jsoup的Element类
    Java中的多线程
    Java中的文件IO流
  • 原文地址:https://www.cnblogs.com/Junelee1211/p/2150302.html
Copyright © 2011-2022 走看看