请教前辈们一个关于临时表的问题

WORLDMMDL 2008-11-03 09:38:37
请教前辈们一个关于临时表的问题

例如:

CREATE procedure Stockpile

as
begin
set nocount on

if exists (select * from tempdb.dbo.sysobjects where id = object_id('tempdb..#Temp'))
drop table #Temp

select * from tw2_cust into #Temp

if exists (select * from tempdb.dbo.sysobjects where id = object_id('tempdb..#Temp'))
drop table #Temp
end

GO

如果有多个用户在同时使用某程序的此功能,会不会在sysobjects表中同时新加多条记录?
还是等某个用户的程序的此功能完成后,下一个用户的程序的此功能才开始执行?
...全文
223 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yygyogfny 2008-11-03
  • 打赏
  • 举报
回复
学习
lihuanmei 2008-11-03
  • 打赏
  • 举报
回复
##是全局临时表, 用##开头的临时表之间才会有冲突。
#本地临时表, 仅在创建它的会话中有效, 所以不会有多个用户同时使用时冲突的问题,多个用户可以使用一个界面更改数据,这是在前台,但在后台只是调用同一个存储过程,这些临时表只在存储过程中局部有效,更改数据不会造成冲突。
WORLDMMDL 2008-11-03
  • 打赏
  • 举报
回复
谢谢大家!!
utpcb 2008-11-03
  • 打赏
  • 举报
回复
##是全局临时表
#本地临时表
中国风 2008-11-03
  • 打赏
  • 举报
回复
如果有多个用户在同时使用某程序的此功能,会不会在sysobjects表中同时新加多条记录?
还是等某个用户的程序的此功能完成后,下一个用户的程序的此功能才开始执行?


不會,在當前會話有效;在tempdb可查看;樓主打開多個窗口執行
hyde100 2008-11-03
  • 打赏
  • 举报
回复
一用户->一本地零时表
水族杰纶 2008-11-03
  • 打赏
  • 举报
回复
沒看懂樓主這個臨時表的作用
還有select * from tw2_cust into #Temp語法也有問題
zjcxc 元老 2008-11-03
  • 打赏
  • 举报
回复
用##开头的临时表之间才会有冲突
zjcxc 元老 2008-11-03
  • 打赏
  • 举报
回复
#是本地临时表, 仅在创建它的会话中有效, 所以不会有多个用户同时使用时冲突的问题

34,838

社区成员

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

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