権限情報を追加する場合には、GRANT文を使用します。
削除権を追加
GRANT DELETE ON STOCKS.在庫表 TO SATO, SUZUKI, TANAKA
↑ ↑ ↑ 権限 対象名 権限受領者
権限情報を削除する場合には、REVOKE文を使用します。
削除権を削除
REVOKE DELETE ON STOCKS.在庫表 FROM SATO, SUZUKI, TANAKA
↑ ↑ ↑ 権限 対象名 権限受領者
CASCADEを指定して権限を削除した場合、権限受領者がその権限を使って定義した実表、ビュー表、一時表、プロシジャルーチンおよびトリガは、削除されます。たとえば、“SUZUKI”が会社表からビュー表“電話”を作っていたとします。
CREATE VIEW STOCKS.電話 (社名, 電話番号) AS SELECT 会社名, 電話番号 FROM STOCKS.会社表
“SUZUKI”の会社表に対するSELECT権を削除した場合、“SUZUKI”が作成したビュー表“電話”も削除されます。
REVOKE SELECT ON STOCKS.会社表 FROM SUZUKI CASCADE
ロール定義を追加する場合には、CREATE ROLE文を使用します。ロールに表の権限を付与する、およびロールを利用者に付与する場合はGRANT文で行います。
新たにロールを追加する場合は、以下の手順で行います。
CREATE ROLE文でロールを定義
GRANT文でロールに権限を付与
GRANT文でロールの権限を利用者に付与
ロール“STOCKS_A2”を追加
CREATE ROLE STOCKS_A2 ;
ロール“STOCKS_A2”に権限を付与
GRANT SELECT ON STOCKS.在庫表 TO ROLE STOCKS_A2 ; GRANT SELECT,INSERT,UPDATE ON STOCKS.発注表 TO ROLE STOCKS_A2 ; GRANT SELECT,UPDATE,INSERT,DELETE ON STOCKS.会社表 TO ROLE STOCKS_A2 ;
ロール“STOCKS_A2”の権限を利用者に付与
GRANT STOCKS_A2 TO SUZUKI,TANAKA,SATO ;
ロールの表に対する権限を変更する場合は、GRANT文で行います。
ロール“STOCKS_A2”に在庫表の権限を追加
GRANT INSERT,UPDATE ON STOCKS.在庫表 TO ROLE STOCKS_A2 ;
ロール定義を削除する場合には、DROP ROLE文を使用します。ロールを削除すると、GRANT文でロールに付与した権限や、利用者に付与したロールの権限も削除されます。
ロール“STOCKS_A2”を削除
DROP ROLE STOCKS_A2 ;
ロールから権限を削除する場合、および利用者からロールの権限を削除する場合は、REVOKE文で行います。
ロール“STOCKS_A2”から在庫表のSELECT権を削除
REVOKE SELECT ON STOCKS.在庫表 FROM ROLE STOCKS_A2 ;
利用者“TANAKA”からロールの権限を削除
REVOKE STOCKS_A2 FROM TANAKA ;