当前位置: 首页 > news >正文

MySQL,SqlServer,postgresql中,如何实现锁定一张表

MySQL,SqlServer,postgresql中,如何实现锁定一张表

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

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

MySQL语法:lock tables t2 write;unlock tables;

image

 

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

postgresql语法:
begin;
lock table t2 in access exclusive mode;
commit;

image

 

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

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

image

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

image