zoukankan      html  css  js  c++  java
  • 临时表

    SQL Server 支持三种类型的临时表:局部临时表、全局临时表及表变量。所有三种类型的临时表都是在tempdb数据库中创建的。

    1. 局部临时表

    要创建局部临时表,只需要在命名时以单个数字符号(#)作为前缀,例如#T1。

    局部临时表只对创建它的会话在创建级和调用堆栈内部级(内部的过程、函数、触发器、以及动态批处理)是可见的。当创建级例程弹出调用堆栈,SQL Server 就会自动删除相应的临时表。

    2. 全局临时表

    如果创建的是全局临时表,则它对其他所有会话都可见。当创建临时表的会话断开数据库的联接,而且也没有活动在引用全局临时表,SQL Server 会自动删除相应的全局临时表。要创建全局临时表,只需要在命名时用两个数字符号(##)作为前缀,如##T1。

    当需要和所有人共享临时数据时,就可以用全局临时表。访问全局临时表不需要任何特殊的权限,所有人都可以获取完整的DDL和DML访问。当然,每个人都可以完全访问也意味着任何人都可以删除这个表,所以也应该谨慎考虑全局临时表的副作用。

    注意:只要创建全局临时表的会话断开了数据库的联接,而且也没有其他活动引用全局临时表,SQL Server 就会自动删除它。

    3. 表变量和局部临时表在某些方面有相同之处,也有不同之处。声明表变量的方式和声明其他变量类似,使用的都是DECLARE语句。

    和使用局部临时表一样,表变量在tempdb数据库中也有对应的表作为其物理表示,而不是像通常所理解的那样,以为表变量只在内存中存在。和局部临时表类似,表变量也只对创建它的会话可见,但允许访问的范围更有限,它只对当前批处理可见。表变量对调用堆栈中当前批处理的内部批处理是不可见的,对会话中随后的批处理也是不可见的。

  • 相关阅读:
    SSD1963 低功耗应用
    LWIP UDP 协议分析
    CY22393的应用
    合并BIN文件的两种方法 转载
    STM32 PWM 互补输出函数 调试通过
    STM32 FSMC TFT LCD
    酷睿-家政保洁软件
    查询手机归属地
    折腾报表那些事儿(3) jatoolsprint
    table表格线条显示
  • 原文地址:https://www.cnblogs.com/zhangdx/p/3795640.html
Copyright © 2011-2022 走看看