

 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/)。

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

# HAS\$1TABLE\$1PRIVILEGE
<a name="r_HAS_TABLE_PRIVILEGE"></a>

如果使用者具有指定之資料表的指定權限，則傳回 `true`，否則傳回 `false`。

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

**注意**  
這是領導者節點函數。此函數在參考使用者建立的資料表、STL 或 STV 系統資料表，或 SVV 或 SVL 系統檢視時會傳回錯誤。如需權限的相關資訊，請參閱 [GRANT](r_GRANT.md)。

```
has_table_privilege( [ user, ] table, privilege)
```

## 引數
<a name="r_HAS_TABLE_PRIVILEGE-arguments"></a>

 *使用者*   
要檢查資料表權限的使用者名稱。預設值是檢查目前使用者。

 *資料表*   
與權限相關聯的資料表。

 *privilege*   
要檢查的權限。有效值如下：  
+ SELECT
+ INSERT
+ UPDATE
+ DELETE
+ DROP
+ REFERENCES

## 傳回類型
<a name="r_HAS_TABLE_PRIVILEGE-return-type"></a>

BOOLEAN

## 範例
<a name="r_HAS_TABLE_PRIVILEGE-examples"></a>

下列查詢發現 GUEST 使用者在 LISTING 資料表上沒有 SELECT 權限。

```
select has_table_privilege('guest', 'listing', 'select');

has_table_privilege
---------------------
false
```

下列查詢會使用 pg\$1tables 和 pg\$1user 目錄資料表的輸出，列出資料表權限，包括選取、插入、更新和刪除。這只是範例。您可能必須從資料庫中指定結構描述名稱和資料表名稱。如需詳細資訊，請參閱[查詢目錄資料表](c_join_PG.md)。

```
SELECT 
     tablename
     ,usename
     ,HAS_TABLE_PRIVILEGE(users.usename, tablename, 'select') AS sel
     ,HAS_TABLE_PRIVILEGE(users.usename, tablename, 'insert') AS ins
     ,HAS_TABLE_PRIVILEGE(users.usename, tablename, 'update') AS upd
     ,HAS_TABLE_PRIVILEGE(users.usename, tablename, 'delete') AS del
FROM
(SELECT * from pg_tables
WHERE schemaname = 'public' and tablename in ('event','listing')) as tables
,(SELECT * FROM pg_user) AS users;

tablename | usename   |  sel   |  ins  |  upd  | del
----------+-----------+--------+-------+-------+-------
event     |  john     |  true  | true  | true  | true	
event     |  sally    |  false | false | false | false	
event     |  elsa     |  false | false | false | false	
listing   |  john     |  true  | true  | true  | true	
listing   |  sally    |  false | false | false | false	
listing   |  elsa     |  false | false | false | false
```

先前的查詢也包含交叉聯結。如需詳細資訊，請參閱[JOIN 範例](r_Join_examples.md)。若要查詢不在 `public` 結構描述中的資料表，請從 WHERE 子句中移除 `schemaname` 條件，並在查詢之前使用下列範例。

```
SET SEARCH_PATH to 'schema_name';
```