機能
記述形式
一般規則
対象名は、権限の対象となる資源の名前です。
権限を削除する表の名前を指定します。
権限を削除するプロシジャルーチンまたはファンクションルーチンの名前を指定します。
権限を削除するスキーマの名前を指定します。
権限を削除するデータベーススペースの名前を指定します。
権限を削除するトリガの名前を指定します。
権限を削除する順序の名前を指定します。
注意
PUBLICとは、暗黙に定義された「データベースをアクセスするすべての利用者の集合」を意味します。
個々の利用者は、認可識別子を指定して直接許可された権限と、PUBLICを指定して許可された権限を合わせて受領していることに注意してください。
したがって、たとえば、PUBLICからSELECT権を剥奪することは、必ずしもその資源に対するSELECT権をすべての利用者が失うことを意味しません。直接権限を付与された人は、その権限を持ち続けます。
CASCADEおよびRESTRICTは、“削除動作”と呼びます。
CASCADE
CASCADEを指定した場合、付与した権限が削除されます。権限受領者が定義したビュー表、プロシジャルーチンおよびトリガに必要な権限を削除すると、これらの資源はすべて削除されます。
ビューで参照する表に対するINSERT権、DELETE権、UPDATE権が、ビュー表の定義者から剥奪されるとき、ビュー表に対する同じ権限もビュー表の定義者から剥奪されます。
RESTRICT
RESTRICTを指定した場合、または削除動作を省略した場合、権限受領者が定義した資源に必要な権限を削除することはできません。以下のような場合は、対象となる資源を削除してから、権限を削除することが必要です。
権限受領者が定義したビュー表が参照する表またはビュー表のSELECT権を削除する場合
権限受領者が定義した表またはビュー表が参照する順序のSELECT権を削除する場合
権限受領者が定義したビュー表が参照するファンクションルーチンのEXECUTE権を削除する場合
権限受領者が定義したプロシジャルーチンがSQL手続き文中で指定する表またはビュー表に対する必要な権限を削除する場合
権限受領者が定義したプロシジャルーチンがSQL手続き文中で指定する順序に対するSELECT権を削除する場合
権限受領者が定義したプロシジャルーチンがSQL手続き文中で指定するプロシジャルーチンのEXECUTE権を削除する場合
権限受領者が定義したプロシジャルーチンがSQL手続き文中で指定するファンクションルーチンのEXECUTE権を削除する場合
権限受領者が定義した表のトリガ権を削除する場合
被トリガSQL文で必要な権限を削除する場合
権限受領者が他の利用者に付与した権限がある場合、RESTRICTを指定して権限を削除することはできません。削除動作にCASCADEを指定して削除してください。
RESTRICTを指定した場合、または削除動作を省略した場合で以下の場合は、処理を実行することはできません。
ロールから権限を削除することで、ビュー表またはプロシジャルーチンの定義者からこれらの資源に必要な権限がなくなる場合
使用例
在庫表の利用者“YAMADA”から全権限を削除します。
REVOKE ALL PRIVILEGES ON STOCKS.在庫表 FROM YAMADA
ロール“STOCKS_A2”から権限を削除します。
REVOKE SELECT,UPDATE,INSERT ON STOCKS.在庫表 FROM ROLE STOCKS_A2
ロール“STOCKS_A2”を他の利用者“SUZUKI”から削除します。
REVOKE STOCKS_A2 FROM SUZUKI