如何对SQL-Server加锁?

sc74 2000-03-16 01:51:00
为了维护数据库表的完整性,在并发操作时要对数据库表加锁。
请问如何用SQL语句对数据库表加锁,解锁?
...全文
239 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mimi_bear 2000-03-28
  • 打赏
  • 举报
回复
数据库的锁机制是由数据库系统自动维护的(详见各种技术资料)。不需要特别设置。即开发过程中在这一问题上应把主要的精力放在如何避免死锁(或无效等待)上而不是人为加锁!
haihong 2000-03-16
  • 打赏
  • 举报
回复
方法1:set identity on ,sql server自动进行对序号的管理
方法2:建立一个表identity,set autocommit off,该表有两个字段,第一个字段表示当前能得到的最大的可用id,第二个字段为表名。
每次想向表中插入记录时从identity表中得到id(select);将identity表id+1(update);commit;
然后用得到的id插入你想要插的表
929 2000-03-16
  • 打赏
  • 举报
回复
在SQL SERVER中SERVER对锁的管理十分复杂。在程序中可分为乐观锁和悲观锁。乐观锁就是认为不会有并发现象发生,只在出现并发错误后,才进行处理。这主要通过SERVER中对表中加入一个TIMESTAMP类型列来完成。可用一个函数进行判断在更新时,记录有无被别人修改。另一种就是悲观锁,就是在用记录之前把记录锁住。在SERVER中发出INSERT,UPDATE这些更新语句后,只要不进行COMMIT,那么记录始终维持被独占加锁的状态。也就是说,只要更新不提交就加锁,提交就解锁。

34,575

社区成员

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

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