在数据库服务器处理事务时,可以锁定表中的一行或多行。锁可以通过防止其他事务并发访问来保持数据库中存储的信息的可靠性。锁还可以通过标识正在进行更新的信息来提高查询结果的准确性。
数据库服务器会自动放置这些锁,而无需显式指定。它将一直保留事务获取的所有锁,直到该事务完成(例如,通过使用 COMMIT 或 ROLLBACK 语句),但有一个例外。这个例外在较早释放读锁定中进行了说明。
可以访问该行的事务被称为持有锁。其他事务也许可以对被锁定的行进行有限的访问,也许根本不能访问,这取决于锁的类型。
您可以使用 sa_locks 系统过程列出有关数据库中保留的锁的信息。有关详细信息,请参见 sa_locks 系统过程。
也可以在 Sybase Central 中查看锁。请在左窗格中选择数据库,然后右窗格中会出现名为 [表锁] 的选项卡。这个选项卡会显示每个锁的连接 ID、用户 ID、表名、锁类型和锁名。
可以锁定的对象
锁的类型
查询过程中的锁定
插入过程中的锁定
更新过程中的锁定
删除过程中的锁定
两阶段锁定
较早释放读锁定
特殊优化
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。