奇妙小马俱乐部无限金币
101.28MB · 2025-10-16
最近有个需要求,需要在SqlServer中锁定一张表后,然后搞一些事情,完成后解锁。
如何锁定一张表,在MySQL和PostgreSQL中都比较好处理。有专用的语法来实现,在SqlServer中并没有对于“直接锁定一张表的语法”,如何来处理? 变通一下也比较简单,甚至比MySQL和postgresql都更简单。
MySQL语法:lock tables t2 write;unlock tables;,解锁之前其他session无法获取到对应的写锁,unlocks table之后释放锁
PostgreSQL语法如下,解锁之前其他session无法获取到对应的读或者写锁,unlocks table之后释放锁
begin;
lock table t2 in access exclusive mode;
commit;
SqlServer中并没有类似于MySQL或者postgresql中直接锁定一张表的语法,但是可以通过变通的方式来实现
如上表被锁定后,被解锁之前,其他任何session的对标的操作都会被阻塞