Sql server 2008,是临时表唯一的

时间:2012-07-04 07:06:07

标签: sql sql-server-2008 temp-tables

在我的服务器代码中,我创建一个临时(名为#temp)表,插入一些数据然后删除临时表。如果多个用户同时运行代码的这一部分(创建临时表),sql server 2008会为每个用户创建一个临时表,还是会创建1' global'临时表?如果它是一个表,我认为当多次创建同一个表时我会遇到麻烦?

1 个答案:

答案 0 :(得分:8)

来自MSDN

  

您可以创建本地和全局临时表。当地临时   表只在当前会话和全局临时中可见   表格对所有会话都可见
  ...
  如果在存储过程中创建了本地临时表,或者   可以由多个用户同时执行的应用程序,   数据库引擎必须能够区分由其创建的表   不同的用户。数据库引擎在内部完成此操作   为每个本地临时表名称附加数字后缀。该   存储在sysobjects表中的临时表的全名   tempdb由CREATE TABLE中指定的表名组成   语句和系统生成的数字后缀。允许的   后缀,为本地临时名称指定的table_name不能超过   116个字符。