为了账号安全,请及时绑定邮箱和手机立即绑定

sqlserver返回记录集问题

sqlserver返回记录集问题

不负相思意 2018-12-06 19:40:09
SELECT  * FROM  XXX WITH ( TABLOCKX ) 用了表锁以后,导致我最后返回的数据集里面有SELECT  * FROM  XXX,真搞不懂sqlserver还这样的, 我其实只是想返回这一个数据集  select  * from #DDDTEMP 请问有什么办法让第一个锁表操作的数据集不返回。  
查看完整描述

7 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

你又没用到这个表,为什么要锁它。Oracle能实现这样的需求,果然很强。

查看完整回答
反对 回复 2019-01-07
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

那你sqlserver 数据库怎么锁表的?请教下好吗?
查看完整回答
反对 回复 2019-01-07
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

@冰之印记:你的sql语句是如何的?跟你SQL Server的环境变更设置有关吗?
查看完整回答
反对 回复 2019-01-07
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

SELECT * FROM 表明 WITH ( TABLOCKX ) 存储过程最后一句是:select maxId from #T_MaxIdTEMP; DROP TABLE #T_MaxIdTEMP 这样导致返回是2张表 一张就是第一次锁表的语句返回的记录集 ,整个表多返回,第二张表才是我想要的,我觉得这样有点不合理的了,我锁表操作的东西你给我返回来做什么呢,有办法清除吗,我这张表以后的数据量是巨大的,他要是也给我反悔,那效率可想而知了。oracle那边是没问题的 后来公司要个sqlserver 版本感觉问题就来了,实在不行 我只能在这个存储在套一个存储过程了。哎 sqlserver真是无语,可能是我对sqlserver不够了解吧
查看完整回答
反对 回复 2019-01-07
?
www说

TA贡献1775条经验 获得超8个赞

看你是什么锁级别了.

所用的TABLOCKX 是表锁,别的sql是无法访问这个Table的.

查看完整回答
反对 回复 2019-01-07
?
HUWWW

TA贡献1874条经验 获得超12个赞

答非所问了大哥。
查看完整回答
反对 回复 2019-01-07
  • 7 回答
  • 0 关注
  • 599 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信