none
有关临时表的用法的疑惑 RRS feed

  • 问题

  • 在存储过程中用到了临时表,想问一下,如果多用户在应用程序前台操作同时用到了此存储过程,那临时表会被创建 多个不同的副本 还是会用到第一个用户创建的?

     


    amnto
    2010年8月5日 2:03

答案

全部回复

  • If sp uses local temp table, sql will create table for every session. If use global temp table, all sessions will share same table.
    2010年8月5日 2:13
  • 单个 # 打头的临时表, 每次被调用时, 都会创建一个独立的副本(其他连接无法访问这个副本)

    两个 ## 打头的临时表, 只会创建一个, 在这个没有被删除之间, 如果存储过程被再次调用, 则会报错说对象已经存在.

    2010年8月5日 4:33
  • 具体的信息, 楼主可以去查 book online 上的临时表部分.
    2010年8月5日 4:33
  •  #..类型的临时表 在存储过程使用在调用完后就消失了

    所以不会引发冲突 一个临时表-》一个调用的存储过程-》一个用户~

    2010年8月5日 6:14
  • BOL:临时表
    临时表有两种类型:本地表和全局表。在与首次创建或引用表时相同的 SQL Server 实例连接期间,本地临时表只对于创建者是可见的。当用户与 SQL Server 实例断开连接后,将删除本地临时表。全局临时表在创建后对任何用户和任何连接都是可见的,当引用该表的所有用户都与 SQL Server 实例断开连接后,将删除全局临时表。

    2010年8月5日 8:37
    版主