选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

LOCK

聚焦模式
LOCK - Amazon Redshift

限制对数据库表的访问。此命令只在事务块内部运行时才有意义。

LOCK 命令在“ACCESS EXCLUSIVE”模式下获取表级别的锁定;如果需要,会等待所有冲突的锁定释放。通过这种方式明确地锁定表时,会导致从其他事务或会话尝试对表执行的读取和写入操作等待。当一个用户明确地锁定表时,会阻止另一个用户从该表中选择数据或在该表中加载数据。当包含 LOCK 命令的事务完成后,会释放锁定。

引用表的命令会隐式地获取限制性较低的表锁定,例如写入操作。例如,如果某个用户尝试从表中读取数据,而另一个用户正在更新该表,那么读取的数据将是已提交的数据的快照。(在某些情况下,如果查询违反了可序列化隔离规则,则将停止。) 请参阅 管理并发写入操作

一些 DDL 操作(例如 DROP TABLE 和 TRUNCATE)会创建独占锁定。这些操作会阻止读取数据。

如果发生锁定冲突,Amazon Redshift 会显示错误消息,对启动冲突事务的用户发出提示。收到锁定冲突的事务将会停止。每次发生锁定冲突时,Amazon Redshift 会将一个条目写入到 STL_TR_CONFLICT 表。

语法

LOCK [ TABLE ] table_name [, ...]

参数

TABLE

可选关键字。

table_name

要锁定的表的名称。通过使用逗号分隔的表名列表可以锁定多个表。您不能锁定视图。

示例

begin; lock event, sales; ...

下一主题:

MERGE

上一主题:

INSERT(外部表)

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。