存储过程中创建#TEMP临时表,如果并发有很多用户调用会不会有冲突?

shjqk 2003-09-12 11:08:06
存储过程中创建#TEMP临时表保存数据,如果并发有很多用户调用会不会有冲突,
我的存储过程同时可能会有多人访问,会不会有问题,如果有,有什么好的解决方法?
...全文
495 13 打赏 收藏 转发到动态 举报
写回复
用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 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去:

当存储过程完成时,将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。


所有其它本地临时表在当前会话结束时自动除去。
1.linux系统介绍 以windows为内核的操作系统有哪些:win10   win8   win7  xp  系统    windows server 以linux为内核的操作系统有哪些:centos  ubuntu  debian   windows和linux  linux:服务器   安全    稳定 高效    windows:办公  家用  2.安装linux注意事项 对centos系统 的基本使用   有哪些文件夹   对文件/文件夹 进行操作  创建 删除  修改 移动 复制   写入 home 存放所有用户文件的根目录  soft :安装软件 cd  ll mkdir 创建文件  touch 空文件  echo sdsd>a.txt       vi a.txt vi c.txt  打开文件  按下i键  改为写入的模式    写完之后保存: 先按下esc 按键再按下:w 保存 :q退出  :wq    写完之后不想保存 强制退出  esc  :q! 删除文件/文件夹 rm -rf a.txt  b.txt rm -rf soft 复制 如果复制文件 cp  要复制的文件名   复制出来的文件名子    cp  a.txt   a1.txt 如果复制的是文件夹的 cp -r soft/   soft1 展示一个文件的内容 cat  移动文件  mv  temp1   temp2 重命名 mv  temp1   temp2 查找: find /(查找的路径)  -name   *.txt    b 清屏  clear tab 按键 可以帮助我们把输入的内容补全   3.配置局域网  需要通过ssh软件远程操作linux系统 远程操作centos系统  在windows操作系统通过一款软件来远程操作虚拟电脑的centos系统  ssh软件: xshell  secureCRT 第一步在win10系统下载并且安装ssh软件 secureCRT    第二步:只要知道centos系统所在电脑的公网IP  登录账户和密码      /  win10和centos系统所在的两台电脑在同一个局域网内  局域网IP  登录账户和密码 第三步:centos系统 进行局域网的设置 往网卡写入一些数据   win10写入的方式:桌面的化操作和centos系统写入的方式是不一样的  ip 网关 子网掩码 NM_conteolle。。。 命令  找到往网卡写入数据的文件    重新启动网络服务 开启22端口   重启防火墙服务 网络桥接网络  *************************端口是否开启  4.配置外网  下载软件1.下载并且安装到系统 node.js环境   npm install bootstrap   默认的镜像库 centos系统    yum install  服务名     默认的镜像库  2.自己下载服务  wget 服务的网络地址 自己单独安装  比较灵活 安装难度大 windows系统  exe文件 linux       rpm包

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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