最近有个需要求,需要在SqlServer中锁定一张表后,然后搞一些事情,完成后解锁。
如何锁定一张表,在MySQL和PostgreSQL中都比较好处理。有专用的语法来实现,在SqlServer中并没有对于“直接锁定一张表的语法”,如何来处理? 变通一下也比较简单,甚至比MySQL和postgresql都更简单。

1,如何在MySQL中锁定一张表

MySQL语法:lock tables t2 write;unlock tables;,解锁之前其他session无法获取到对应的写锁,unlocks table之后释放锁

 

2,如何在PostgreSQL中锁定一张表

PostgreSQL语法如下,解锁之前其他session无法获取到对应的读或者写锁,unlocks table之后释放锁
begin;
lock table t2 in access exclusive mode;
commit;

 

3,如何在SqlServer中锁定一张表

SqlServer中并没有类似于MySQL或者postgresql中直接锁定一张表的语法,但是可以通过变通的方式来实现

如上表被锁定后,被解锁之前,其他任何session的对标的操作都会被阻塞

 

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]