社区
MS-SQL Server
帖子详情
存储过程中创建#TEMP临时表,如果并发有很多用户调用会不会有冲突?
shjqk
2003-09-12 11:08:06
存储过程中创建#TEMP临时表保存数据,如果并发有很多用户调用会不会有冲突,
我的存储过程同时可能会有多人访问,会不会有问题,如果有,有什么好的解决方法?
...全文
491
13
打赏
收藏
存储过程中创建#TEMP临时表,如果并发有很多用户调用会不会有冲突?
存储过程中创建#TEMP临时表保存数据,如果并发有很多用户调用会不会有冲突, 我的存储过程同时可能会有多人访问,会不会有问题,如果有,有什么好的解决方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mjhnet
2003-09-16
打赏
举报
回复
不会的,全局临时表会有冲突的
如果本地临时表由存储过程创建或由多个用户同时执行的应用程序创建,则 SQL Server 必须能够区分由不同用户创建的表。为此,SQL Server 在内部为每个本地临时表的表名追加一个数字后缀。存储在 tempdb 数据库的 sysobjects 表中的临时表,其全名由 CREATE TABLE 语句中指定的表名和系统生成的数字后缀组成。为了允许追加后缀,为本地临时表指定的表名 table_name 不能超过 116 个字符。
aierong
2003-09-16
打赏
举报
回复
不会啦
你的#TEMP临时表是局部临时表
要是全居临时表就可能有冲突
aierong
2003-09-16
打赏
举报
回复
____________ ______ ______
____//__][__\\___\ ____//__][_\ ______//__][_\__
(o _ | -| _ o| [o _ | -| _ \ /o _ | -| _ \
`(_)-------(_)---' `(_)-----(_)-' `-(_)-------(_)---'
________ _____ _
____//__][__\\___ ____//__]| ___//] ____
(o _ | -| _ o| (o _ | -|_________ |o_ '---' _ |
`(_)-------(_)--' `(_)-------(_)(_)--' `(_)-------(_)''
我的6部宝马车送你们啦
表示恭喜
shjqk
2003-09-16
打赏
举报
回复
谢谢
rose76219
2003-09-12
打赏
举报
回复
不会
aierong
2003-09-12
打赏
举报
回复
你创建的#TEMP临时表是局部临时表,不会有问题
要是##开头的全局临时表,可能会有麻烦
zjcxc
元老
2003-09-12
打赏
举报
回复
不会冲突,局部临时表除了本身的表名外,系统还会自动加上一个标识,用来区别不同用户生成的临时表.
你用下面的语句在查询分析器中可以看到:
--创建临时表
create table #tb(id int)
--查看临时表的表名
select name from tempdb..sysobjects where name like '#tb'
--删除临时表
drop table #tb
happydreamer
2003-09-12
打赏
举报
回复
不会的 不同用户使用各自的临时表
bflovesnow
2003-09-12
打赏
举报
回复
建议多看看"在线丛书",上面有详细的说明
尽管你在SP中建了一个#temp
但如果用户同时连上的话,SQLServer为自动给它加上如#temp01,#temp02等
以区分每个用户连接的临时表
这都是SQLServer的工作,做程序的可以不考虑这些
ps:我们能考虑到,M$的工程师们早都考虑到了,呵呵~~
trunman
2003-09-12
打赏
举报
回复
不会冲突
sdhdy
2003-09-12
打赏
举报
回复
不会,每个连接可建相同名称的本地临时表,全局临时表##temp就不行了。
txlicenhe
2003-09-12
打赏
举报
回复
不会冲突,临时表与你的连接有关,连接关掉临时表自动消失。
killxtt
2003-09-12
打赏
举报
回复
如果本地临时表由存储过程创建或由多个用户同时执行的应用程序创建,则 SQL Server 必须能够区分由不同用户创建的表。为此,SQL Server 在内部为每个本地临时表的表名追加一个数字后缀。存储在 tempdb 数据库的 sysobjects 表中的临时表,其全名由 CREATE TABLE 语句中指定的表名和系统生成的数字后缀组成。为了允许追加后缀,为本地临时表指定的表名 table_name 不能超过 116 个字符。
除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去:
当存储过程完成时,将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。
所有其它本地临时表在当前会话结束时自动除去。
oracle
存储过程
中
如何
创建
临时表
,Oracle
存储过程
中
临时表
的使用技巧
在Oracle
中
,
临时表
分为SESSION、TRANSACTION两种,SESSION级的
临时表
数据在整个SESSION都存在,直到结束此次SESSION;而 TRANSA一、Oracle
临时表
知识在Oracle
中
,
临时表
分为SESSION、TRANSACTION两种,SESSION级的
临时表
数据在整个SESSION都存在,直到结束此次SESSION;而 TRANSACTION级的
临时表
数据在TR...
SQL Server数据库的
存储过程
中
定义
临时表
有必要显示删除吗
把上述脚本记录到的数据,利用Excel的透视图功能,呈现出来上述脚本记录到的user objects数量,可以很清楚地发现,不显式删除
临时表
,与显式删除
临时表
相比,UserObjecs数量并没有明显的差异。你删,或者不删,他都
会
缓存在临时库
中
,并不因为显式Drop
临时表
,
临时表
就
会
被真正的删除,这是SQL Server专门为此做的优化,你真的不用为删除
临时表
而操心或者纠结。同时测试了
临时表
在满足重用的情况下,
临时表
显式删除与否的性能问题,对于
存储过程
中
定义的
临时表
,不管是否能否缓存重用,都不建议显式删除。
sqlserver
存储过程
中
使用
临时表
的问题
2023年6月6日08:52:15 因为最近接触的his系统一些
存储过程
做数据统计,一个
存储过程
就要使用1-3个
临时表
,这些
存储过程
是零几年的写得,和我们这个时代的写的
存储过程
习惯不太一样,就好奇为什么要使用这么多的
临时表
临时表
的基本概念 在深入
临时表
之前,我们要了解一下
会
话(Session),一个
会
话仅仅是一个客户端到数据引擎的连接。在SQL Server Management Stud...
SQL Server数据库的
存储过程
中
定义的
临时表
,真的有必要显式删除(drop table #tableName)吗?...
原文:SQL Server数据库的
存储过程
中
定义的
临时表
,真的有必要显式删除(drop table #tableName)吗? 本文出处:http://www.cnblogs.com/wy123/p/6704619.html 问题背景 在写SQL Server
存储过程
中
,如果
存储过程
中
定义了
临时表
,有些人习惯在
存储过程
结束的时候一个一个显式地...
频繁
创建
临时表
http://imysql.cn/2009_02_17_mysql_optimize_to_many_
temp
_table 引言:某客户新上线一个项目,利用
存储过程
处理
用户
登录相关事务。在
存储过程
中
,需要对
用户
数据进行处理,于是他们采用
临时表
(
temp
orary table)来做这个动作,先
创建
一个
临时表
,然后插入数据,处理;由于是采用连接池方式,担心
临时表
被复用,于是在最后删除该
临时表
。该客户
MS-SQL Server
34,588
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章