本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
範例
以下範例會將 GUESTS 使用者群組在 SALES 資料表上的 INSERT 權限撤銷。此命令會使 GUESTS 的成員無法使用 INSERT 命令將資料載入 SALES 資料表。
revoke insert on table sales from group guests;
以下範例會將使用者 fred
對 QA_TICKIT 結構描述中所有資料表的 SELECT 權限撤銷。
revoke select on all tables in schema qa_tickit from fred;
下列範例會撤銷使用者 bobr
從檢視選取的權限。
revoke select on table eventview from bobr;
以下範例會將所有使用者在 TICKIT 資料庫中建立暫存資料表的權限撤銷。
revoke temporary on database tickit from public;
下列範例會撤銷使用者 user1
對 cust_profile
資料表中 cust_name
和 cust_phone
資料欄的 SELECT 權限。
revoke select(cust_name, cust_phone) on cust_profile from user1;
下列範例會撤銷 sales_group
群組對 cust_name
和 cust_phone
資料欄的 SELECT 權限,以及對 cust_profile
資料表中 cust_contact_preference
資料欄的 UPDATE 權限。
revoke select(cust_name, cust_phone), update(cust_contact_preference) on cust_profile from group sales_group;
下列範例顯示 ALL 關鍵字的使用方式,以撤銷 sales_admin
群組對資料表 cust_profile
中三個資料欄的 SELECT 和 UPDATE 權限。
revoke ALL(cust_name, cust_phone,cust_contact_preference) on cust_profile from group sales_admin;
以下範例會撤銷 user2
使用者對 cust_profile_vw
檢視中 cust_name
資料欄的 SELECT 權限。
revoke select(cust_name) on cust_profile_vw from user2;
從資料共用建立的資料庫撤銷 USAGE 權限的範例
下列範例會從 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
命名空間撤銷對 salesshare
資料共用的存取權。
REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
下列範例會撤銷 sales_db
上來自 Bob
的 USAGE 權限。
REVOKE USAGE ON DATABASE sales_db FROM Bob;
下列範例會撤銷 sales_schema
上來自 Analyst_role
的 USAGE 權限。
REVOKE USAGE ON SCHEMA sales_schema FROM ROLE Analyst_role;
撤銷限定範圍權限的範例
下列範例會將 Sales_db
資料庫中所有目前和未來結構描述的使用權從 Sales
角色撤銷。
REVOKE USAGE FOR SCHEMAS IN DATABASE Sales_db FROM ROLE Sales;
以下範例撤銷向使用者 alice
授予對 Sales_db
資料庫中所有目前和未來資料表的 SELECT 權限的能力。alice
保留對 Sales_db
中所有資料表的存取權。
REVOKE GRANT OPTION SELECT FOR TABLES IN DATABASE Sales_db FROM alice;
下列範例會將 Sales_schema
結構描述中函數的 EXECUTE 權限從 bob
角色撤銷。
REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;
下列範例會從 Sales
角色撤銷 ShareDb
資料庫之 ShareSchema
結構描述中所有資料表的所有權限。當指定結構描述時,您也可以使用兩部分格式 database.schema
指定結構描述的資料庫。
REVOKE ALL FOR TABLES IN SCHEMA ShareDb.ShareSchema FROM ROLE Sales;
以下範例與前面的範例是相同的。您可以使用 DATABASE
關鍵字來指定結構描述資料庫,而不是使用兩部分格式。
REVOKE ALL FOR TABLES IN SCHEMA ShareSchema DATABASE ShareDb FROM ROLE Sales;
撤銷 ASSUMEROLE 權限的範例
以下是撤銷 ASSUMEROLE 權限的範例
超級使用者必須在叢集上執行一次下列陳述式,以啟用使用者和群組的 ASSUMEROLE 權限。
revoke assumerole on all from public for all;
下列陳述式會在所有操作的所有角色上撤銷使用者 reg_user1 的 ASSUMEROLE 權限。
revoke assumerole on all from reg_user1 for all;
撤銷 ROLE 權限的範例
下列範例會對 sample_role2 撤銷 sample_role1。
CREATE ROLE sample_role2; GRANT ROLE sample_role1 TO ROLE sample_role2; REVOKE ROLE sample_role1 FROM ROLE sample_role2;
下列範例會撤銷 user1 的系統權限。
GRANT ROLE sys:DBA TO user1; REVOKE ROLE sys:DBA FROM user1;
下列範例會從 user1 撤銷 sample_role1 和 sample_role2。
CREATE ROLE sample_role1; CREATE ROLE sample_role2; GRANT ROLE sample_role1, ROLE sample_role2 TO user1; REVOKE ROLE sample_role1, ROLE sample_role2 FROM user1;
下列範例會從 user1 撤銷具有 ADMIN OPTION 的 sample_role2。
GRANT ROLE sample_role2 TO user1 WITH ADMIN OPTION; REVOKE ADMIN OPTION FOR ROLE sample_role2 FROM user1; REVOKE ROLE sample_role2 FROM user1;
下列範例會從 sample_role5 撤銷 sample_role1 和 sample_role2。
CREATE ROLE sample_role5; GRANT ROLE sample_role1, ROLE sample_role2 TO ROLE sample_role5; REVOKE ROLE sample_role1, ROLE sample_role2 FROM ROLE sample_role5;
下列範例會撤銷 Sample_role1 的 CREATE SCHEMA 和 DROP SCHEMA 系統權限。
GRANT CREATE SCHEMA, DROP SCHEMA TO ROLE sample_role1; REVOKE CREATE SCHEMA, DROP SCHEMA FROM ROLE sample_role1;