首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 一个很基础的问题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • youcaicai
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-16 11:14:45 楼主
    在存储过程中建一临时表,用于存储临时数据用于和目前的数据时行比对,在多用户同时调用存储过程的情况下,会不会有影响?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • skyzcl
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 11:17:091楼 得分:0
    用事务锁定表

    begin tran tran1
    ......
    commit tran tran1
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • youcaicai
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 11:17:332楼 得分:0
    在线等待,自己顶一下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjcxc
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

      2

    发表于:2008-05-16 11:18:493楼 得分:0
    如果你创建的是本地临时表(仅以#开头), 则不会有冲突
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • srgcc
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 11:19:084楼 得分:0
    Mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • youcaicai
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 11:20:215楼 得分:0
    已加有事务,只是我不知道数据库中的工作方式,在多个用户同时调用时,数据库中是否是列队调用还是同时调用?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • youcaicai
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 11:22:466楼 得分:0
    我的开发环境.net+sql server 2000
    临时表还分本地的和非本地的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • srgcc
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:22:577楼 得分:0
    ben di de he quan ju de
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • srgcc
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:24:208楼 得分:0
    ben di de lian jie duan kai hou jiu hui zi dong bei shan chu,
    quan qu de yao guan diao fu wu de shi hou cai hui bei zi dong shan chu.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Herb2
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:25:559楼 得分:0
    如果你在存储过程中建的临时表是以#开头的就没关系。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Herb2
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:27:2710楼 得分:0
    注意,如果以##开头就不行,还有就是对用户操作,如何避免原表被修改也是你要考虑的问题。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JL99000
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:46:0211楼 得分:0
    应该从本质上理解这个临时表
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojuju10
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:49:2412楼 得分:0

    存储过程里面的创建的临时具有并发性,互相不会有影响的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • utpcb
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:50:3913楼 得分:0
    如果你创建的是本地临时表(仅以#开头), 则不会有冲突

    ##全局的临时表就可能有问题的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JL99000
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:50:4014楼 得分:0
    首先 临时表分为局部临时表和全局临时表

    你这里用的是局部临时表,当我们访问存储过程的时候,会建立一个连接,多个访问会建立多个连接,当存储过程中有临时表的时候,数据库会针对没个连接请求建立多个临时表,可以tempdb的临时表中查看到,当临时在使用的时候sql server会按照自己的方式来分配临时表的名称,每个名称都是针对某个连接的
    也就是说,不同的用户请求存储过程时,他们各自使用自己的局部临时表,互相不干饶

    明白了吗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojuju10
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:51:3515楼 得分:0

    楼主也考虑用表变量代替临时表

    用表变量绝对不会有并发性
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JL99000
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 14:54:4816楼 得分:0
    该用什么就用什么
    是有很大区别的
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved