

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# LOCK
<a name="r_LOCK"></a>

限制對資料庫資料表的存取。此命令只有在交易區塊內執行時才有意義。

LOCK 命令會以 "ACCESS EXCLUSIVE" 模式取得資料表層級鎖定，必要時會等待任何衝突鎖定解除。若以此方式明確鎖定資料表，則從其他交易或工作階段嘗試時，會造成資料表的讀取和寫入等待。若某位使用者建立明確的資料表鎖定，則會暫時阻止其他使用者從該資料表選取資料或將資料載入其中。鎖定會在包含 LOCK 命令的交易完成時解除。

參考資料表的命令 (例如寫入操作) 會以隱含方式取得限制較少的資料表鎖定。例如，若使用者嘗試從資料表讀取資料時，有另一位使用者正在更新資料表，則讀取的資料會是已遞交資料的快照 (在某些情況下，若查詢違反可序列化隔離規則，則會停止)。請參閱 [管理並行寫入操作](c_Concurrent_writes.md)。

某些 DDL 操作 (例如 DROP TABLE 和 TRUNCATE) 會建立獨佔鎖定。這些操作會阻止資料讀取。

若發生鎖定衝突，Amazon Redshift 會顯示錯誤訊息，提醒進行發生衝突之交易的使用者。收到鎖定衝突的交易會停止。每次發生鎖定衝突時，Amazon Redshift 都會在 [STL\_TR\_CONFLICT](r_STL_TR_CONFLICT.md) 資料表中寫入一項記錄。

## 語法
<a name="section_r_LOCK-synopsis"></a>

```
LOCK [ TABLE ] table_name [, ...]
```

## Parameters
<a name="parameters"></a>

TABLE   
選用的關鍵字。

 *table\_name*   
要鎖定的資料表名稱。您可以使用逗號分隔的資料表名稱清單鎖定多個資料表。不過您無法鎖定檢視。

## 範例
<a name="example2"></a>

```
begin;

lock event, sales;

...
```