****SQL全局临时表问题

OceanRain 2008-05-29 03:09:48
100个用户同时调用某一个存储过程,而这个存储过程中有这么一句话
create table ##tbl(id int)    --是建立100个##tbl 还是一个##tbl
会不会出现问题啊?
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
leihentulong 2008-05-30
  • 打赏
  • 举报
回复
应该用临时表,不用特意去处理,只是在当前链接有效,退出自动删除。
yyj135 2008-05-30
  • 打赏
  • 举报
回复
可能会出问题。建议使用本地临时表,即只有一个#
OceanRain 2008-05-29
  • 打赏
  • 举报
回复
向大家学习下
Demonic 2008-05-29
  • 打赏
  • 举报
回复
临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。

临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server 实例断开连接时被删除。全局临时表的名称以两个数字符号 (##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。

例如,如果创建了 employees 表,则任何在数据库中有使用该表的安全权限的用户都可以使用该表,除非已将其删除。如果数据库会话创建了本地临时表 #employees,则仅会话可以使用该表,会话断开连接后就将该表删除。如果创建了 ##employees 全局临时表,则数据库中的任何用户均可使用该表。如果该表在您创建后没有其他用户使用,则当您断开连接时该表删除。如果您创建该表后另一个用户在使用该表,则 SQL Server 将在您断开连接并且所有其他会话不再使用该表时将其删除。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧