SQL Server 临时表名前使用一个#号,临时表是局部的,使用两个#号,临时表是全局的,我是用winform开发程序, 都是用SA登录SQL SERVER , 第一个问题 假设 同时有5个用户同时创建 临时表 #aaa 是不是就冲突了呢.第二个问题 在SQL中创建用户SB(权限等同于SA), 用SA 创建临时表 #EEE ,用SB创建临时表 #EEE 会不会冲突 第三个问题 用SA 创建全局临时表 ##EEE ,用SB创建全局临时表 ##EEE 会不会冲突
5 回答

蛊毒传说
TA贡献1895条经验 获得超3个赞
局部临时表是会话级别,当前会话(连接)中可用,当前会话关闭后,释放(可手动释放)。其他会话不可访问。
全局临时表同样是会话级别,当前会话中可用,当前会话结束后,释放掉。
和局部临时表的区别在于,如果当前会话未关闭,那么其他会话可以访问这个临时表。
临时表在会员中只是一个代号,在实际的系统临时库中,真实表名会自动处理。
可以理解为一个映射关系。会话名+临时表名=>临时库的真实表名
现在回答你的问题:
1、如果5个用户不是同一个连接(一般不会出现,不排除你一直开着连接不关闭),不会冲突;
2、这个就绝对不会冲突,因为不可能是一个连接了;
3、同问题2,不是同一个连接,不会冲突;
- 5 回答
- 0 关注
- 1726 浏览
添加回答
举报
0/150
提交
取消