在我的服务器代码中,我创建一个临时(名为#temp)表,插入一些数据然后删除临时表。如果多个用户同时运行代码的这一部分(创建临时表),sql server 2008会为每个用户创建一个临时表,还是会创建1' global'临时表?如果它是一个表,我认为当多次创建同一个表时我会遇到麻烦?
答案 0 :(得分:8)
来自MSDN:
您可以创建本地和全局临时表。当地临时 表只在当前会话和全局临时中可见 表格对所有会话都可见
...
如果在存储过程中创建了本地临时表,或者 可以由多个用户同时执行的应用程序, 数据库引擎必须能够区分由其创建的表 不同的用户。数据库引擎在内部完成此操作 为每个本地临时表名称附加数字后缀。该 存储在sysobjects表中的临时表的全名 tempdb由CREATE TABLE中指定的表名组成 语句和系统生成的数字后缀。允许的 后缀,为本地临时名称指定的table_name不能超过 116个字符。