社区
疑难问题
帖子详情
如何在SQLSERVER的數據表中只是鎖定那條紀錄的那個字段?請高手幫幫忙!無限感激
hatedeadlock
2003-09-14 07:39:48
我隻知道在SQLSERVER 可以使用 ROWLOCK 來鎖定行紀錄 可是怎樣
鎖定 那行 那個字段呢!其他字段不鎖
...全文
64
9
打赏
收藏
如何在SQLSERVER的數據表中只是鎖定那條紀錄的那個字段?請高手幫幫忙!無限感激
我隻知道在SQLSERVER 可以使用 ROWLOCK 來鎖定行紀錄 可是怎樣 鎖定 那行 那個字段呢!其他字段不鎖
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
txlicenhe
2003-10-06
打赏
举报
回复
恭喜楼主,楼主的ID真有意思。 hatedeadlock,经常碰到死锁所以讨厌死锁?
hatedeadlock
2003-10-06
打赏
举报
回复
我将有同时更新的字段分开!让程序更新不同的表
问题解决了!谢谢大家的回复!
hatedeadlock
2003-09-29
打赏
举报
回复
重新説明:
客戶端的瀏覽 都是 select * from table nolock (允許髒讀)
問:
如果同時有100個人 同時 執行select * from table nolock
這個時候 到底能不能更新數據表呀?
pengdali
2003-09-24
打赏
举报
回复
1 如何锁一个表的某一行
A 连接中执行
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
begin tran
select * from tablename with (rowlock) where id=3
waitfor delay '00:00:05'
commit tran
B连接中如果执行
update tablename set colname='10' where id=3 --则要等待5秒
update tablename set colname='10' where id<>3 --可立即执行
2 锁定数据库的一个表
SELECT * FROM table WITH (HOLDLOCK)
注意: 锁定数据库的一个表的区别
SELECT * FROM table WITH (HOLDLOCK)
其他事务可以读取表,但不能更新删除
SELECT * FROM table WITH (TABLOCKX)
其他事务不能读取表,更新和删除
leimin
2003-09-22
打赏
举报
回复
问:有什么样的办法 让几个程序 同时调用 同一个或者不同存贮过程 同时更新数据表的 同一行的不同字段时 互不干扰 各完成各的操作?
A:mssqlserver2000默认的lock 的粒度是行级,所以如果一个线程在update一条记录时,就在该行加了排他锁,所以其它的线程是无法读取该记录(除非可以脏读),这是因为在mssqlserver中是不可以同时给一条记录加不同的锁。另外mssqlserver没有锁某一列的锁!
所以让几个程序 同时调用 同一个或者不同存贮过程 同时更新数据表的 同一行的不同字段时如果一个在更新,其他的就只能WAIT....
happydreamer
2003-09-17
打赏
举报
回复
1 如何锁一个表的某一行
A 连接中执行
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
begin tran
select * from tablename with (rowlock) where id=3
waitfor delay '00:00:05'
commit tran
B连接中如果执行
update tablename set colname='10' where id=3 --则要等待5秒
update tablename set colname='10' where id<>3 --可立即执行
txlicenhe
2003-09-17
打赏
举报
回复
用触发器吧
if update(Field1)
....
if Update(Field2)
...
hatedeadlock
2003-09-17
打赏
举报
回复
问题是这样的:
有几个程序 他们可能同时调用 同一个存贮过程 同时更新数据表的 同一行的不同字段
这样在变化激烈的时候数据库老是会出现DEADLOCK!
我在存贮过程中加上
declare @CurrentTimeout int
begin transaction firstupdate
Set Transaction isolation level read uncommitted
select @CurrentTimeout = @@lock_timeout
if @CurrentTimeout<>3000 SET LOCK_TIMEOUT 3000
........
if @@error=0 commit tran else rollback tran 可是这样一样解决不了问题!更坏的是他会丢失更新!
问:有什么样的办法 让几个程序 同时调用 同一个存贮过程 同时更新数据表的 同一行的不同字段时 互不干扰 各完成各的操作
nboys
2003-09-14
打赏
举报
回复
1 如何锁一个表的某一行
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT * FROM table ROWLOCK WHERE id = 1
2 锁定数据库的一个表
SELECT * FROM table WITH (HOLDLOCK)
加锁语句:
MSSQL:
select col1 from 表 (tablockx) where 1=0 ;
加锁后其它人不可操作,直到加锁用户解锁,用commit或rollback解锁
SQL Server数据库基础到精通课程
本课程是陈表达在学习SQL server数据库后做的完整笔记,本课程讲解从最开始的 创建数据库、创建数据表、已经数据的写入、查询、修改更新、删除,
字段
运算、
字段
运算统计、分类汇总、数据分析、条件判断,条件筛选及一些常用的SQL数据库语句,变量定义,
字段
约束、等等,Select 、Where、Top、Group By 、Order By,Distinct、Declare等,详细可看图片和课程,本课程带有完整的SQL数据库课程课件,代码有注释解析等等,学习起来简单易懂,易上手直接操作,需要做数据分析,数据统计等工作的朋友们就赶紧学起来了,加油!
3天掌握SQL Server 2012 数据库
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),Microsoft SQL Server 2012 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序 。 黄强老师针比较稳定且较新的SQL SERVER 2012版本演示数据库的安装使用,SQL(Structured Query Language)语言、T-SQL语言,数据库的增删改查、函数、存储过程、事务等重要知识点,让学员轻松入门并快速掌握关系型数据库!
SQL Server 2019数据库基础入门视频教程
本课程使用sql server 2019版本的数据库进行讲解。主要讲解SQL Server的基本操作和SQL主要语法,注重基础性和实用性。软件公司里面各个岗位包括实施、运维、客服、测试、程序员等都涉及数据库的使用,学会本课程足可以胜任日常数据库工作。 数据库操作是软件行业人员必备的技能,这门课程主要是针对从事软件技术的新人的,适合在校大学生和软件公司新入职员工。我讲的这门课程主要涉及SQL Server数据的基础操作和SQL语法,因为99.9%的软件技术人员掌握这些就可以了,数据库的大部分功能,我们平时是用不到的,所以不用花太多时间去研究,在需要的时候百度就可以了。每节课程都结合工作实际,并且经过认真准备。把这门课程里面的内容学会,足以胜任日常性SQL Server数据库相关的工作。
SQL Server 2016查询(二)
本课程基于微软新的SQL Server 2016,真正的初级带你进入数据库的大门,从数据库的安装配置开始,逐步讲述了创建数据库、数据表,基础查询、查询、子查询、数据库完整性、视图、索引、存储过程、游标、函数、触发器、数据库备份恢复、自动化作业、数据库安全等,比较全面的讲解了SQL Server2016的基本操作和进阶操作,知识点涵盖日常工作中90%以上所用到的数据库技术。
详解SQL Server索引
全面重新认识SQL Server的索引。详细讲解索引的组织结构,数据的写入过程,sql语句的执行计划等。本课程的索引是SQL Server各个版本的通用技术,所以适用于SQL Server2008,SQL Server2012, SQL Server2016等版本。
疑难问题
22,209
社区成员
121,731
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章