在Sybase中,我可以指定表的锁定模式,如果是,数据行,页面或表锁定。
以下是SYBASE
如何使用指定锁表创建表的示例。
create table dbo.EX_EMPLOYEE(
TEXT varchar(1000) null
)
alter table EX_EMPLOYEE lock allpages
go
在SQL服务器中有这样的lock tables(SO answer),但是我可以为表指定锁吗?
我的问题:我可以指定表的锁类型吗?或者在SQL服务器中它是不同的?它取决于我运行的查询吗?
在此link中说:
他们是对的吗?我可以说Sybase中的锁定表与SQL服务器不同吗?正如安德烈亚斯指出的那样,没有默认的锁定级锁 按照您尝试在数据库中执行的操作。只是 一些例子。如果是特定行的删除/更新独占 将在该行上执行锁定如果是选择操作共享锁定 将被采取如果它被更改表Schema Mod锁将很快采取 等等杰里米指出如果你正在寻找隔离 等级它被读取提交。
答案 0 :(得分:1)
锁定机制不一样,但您在SQL Server中确实有一些控件可用于锁定 - 例如,您可以在查询中指定with rowlock
,with paglock
或with (tablockx)
专属桌锁。
与控制时所有此类锁定一样 - 您必须对可能导致的阻止负责 - 所以请小心使用。
包含完整说明的文档:https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table