ページの先頭行へ戻る
Symfoware Server V11.0.x SQLリファレンス
Symfoware

3.53 REVOKE文

機能

権限を削除します。

記述形式

表に対する権限の削除またはロールから権限を削除

スキーマに対する権限の削除またはロールから権限を削除

プロシジャルーチンに対する権限の削除またはロールから権限を削除

ファンクションルーチンに対する権限の削除またはロールから権限を削除

トリガに対する権限の削除またはロールから権限を削除

順序に対する権限の削除またはロールから権限を削除

データベーススペースに対する権限の削除またはロールから権限を削除

ロールを他の利用者から削除

構文の構成

一般規則

GRANT OPTION FOR
  • GRANT OPTION FORが指定された場合は、付与権のみが削除されます。

  • ROLEの場合は指定できません。

ALL PRIVILEGES
  • ALL PRIVILEGESが指定された場合、REVOKE文実行者から付与されたすべての権限が削除されます。

動作リスト

動作リストに指定する権限の一般規則を以下に示します。

INSERT
  • 権限受領者に対して表に行を挿入する権限(INSERT権)が削除されます。

UPDATE
  • 権限受領者に対して表の行を更新する権限(UPDATE権)が削除されます。

DELETE
  • 権限受領者に対して表の行を削除する権限(DELETE権)が削除されます。

SELECT
  • 権限受領者に対して表の行または順序を参照する権限(SELECT権)が削除されます。

EXECUTE
  • 権限受領者に対してプロシジャルーチンまたはファンクションルーチンを実行する権限(EXECUTE権)が削除されます。

CREATE
  • 権限受領者に対してスキーマや表などの資源を定義する権限(CREATE権)が削除されます。

ALLOCATE
  • 権限受領者に対してデータベーススペースに対して領域を割り当てる権限(ALLOCATE権)が削除されます。

TRIGGER
  • 権限受領者に対してその表にトリガを定義する権限(TRIGGER権)が削除されます。

DROP
  • 権限受領者に対してスキーマや表などの資源を削除する権限(DROP権)が削除されます。

ALTER
  • 権限受領者に対して表定義を更新する権限(ALTER権)が削除されます。

INDEX
  • 権限受領者に対して表にインデックスを定義する権限(INDEX権)が削除されます。

対象名

対象名は、権限の対象となる資源の名前です。

表名
  • 権限を削除する表の名前を指定します。

ルーチン名
  • 権限を削除するプロシジャルーチンまたはファンクションルーチンの名前を指定します。

スキーマ名
  • 権限を削除するスキーマの名前を指定します。

データベーススペース名
  • 権限を削除するデータベーススペースの名前を指定します。

トリガ名
  • 権限を削除するトリガの名前を指定します。

順序名
  • 権限を削除する順序の名前を指定します。

ロール名(ロールを他の利用者から削除する場合に指定)
  • ロール名は、権限受領者から削除するロールの名前を指定します。

  • 同じロール名を複数指定することはできません。

  • 実行者は、ロールの付与権を保持していなければなりません。

権限受領者
PUBLIC
  • PUBLICは、データベースをアクセスするすべての人を意味します。

注意

PUBLICとは、暗黙に定義された「データベースをアクセスするすべての利用者の集合」を意味します。

個々の利用者は、認可識別子を指定して直接許可された権限と、PUBLICを指定して許可された権限を合わせて受領していることに注意してください。

したがって、たとえば、PUBLICからSELECT権を剥奪することは、必ずしもその資源に対するSELECT権をすべての利用者が失うことを意味しません。直接権限を付与された人は、その権限を持ち続けます。

認可識別子
  • 権限を削除する認可識別子を指定します。

  • 認可識別子は、18文字以内の先頭が英字で始まる英数字、または9文字以内の日本語文字列を指定します。

  • 英小文字の区切り識別子を認可識別子に指定することはできません。

ロール名(ロールから権限を削除する場合に指定)
  • ロール名は、権限を削除するロールの名前を指定します。

  • 同じロール名を複数指定できません。

CASCADEおよびRESTRICT(削除動作)

CASCADEおよびRESTRICTは、“削除動作”と呼びます。

CASCADE

  • CASCADEを指定した場合、付与した権限が削除されます。権限受領者が定義したビュー表、プロシジャルーチンおよびトリガに必要な権限を削除すると、これらの資源はすべて削除されます。

  • ビューで参照する表に対するINSERT権、DELETE権、UPDATE権が、ビュー表の定義者から剥奪されるとき、ビュー表に対する同じ権限もビュー表の定義者から剥奪されます。

RESTRICT

  • RESTRICTを指定した場合、または削除動作を省略した場合、権限受領者が定義した資源に必要な権限を削除することはできません。以下のような場合は、対象となる資源を削除してから、権限を削除することが必要です。

    • 権限受領者が定義したビュー表が参照する表またはビュー表のSELECT権を削除する場合

    • 権限受領者が定義した表またはビュー表が参照する順序のSELECT権を削除する場合

    • 権限受領者が定義したビュー表が参照するファンクションルーチンのEXECUTE権を削除する場合

    • 権限受領者が定義したプロシジャルーチンがSQL手続き文中で指定する表またはビュー表に対する必要な権限を削除する場合

    • 権限受領者が定義したプロシジャルーチンがSQL手続き文中で指定する順序に対するSELECT権を削除する場合

    • 権限受領者が定義したプロシジャルーチンがSQL手続き文中で指定するプロシジャルーチンのEXECUTE権を削除する場合

    • 権限受領者が定義したプロシジャルーチンがSQL手続き文中で指定するファンクションルーチンのEXECUTE権を削除する場合

    • 権限受領者が定義した表のトリガ権を削除する場合

    • 被トリガSQL文で必要な権限を削除する場合

  • 権限受領者が他の利用者に付与した権限がある場合、RESTRICTを指定して権限を削除することはできません。削除動作にCASCADEを指定して削除してください。

  • RESTRICTを指定した場合、または削除動作を省略した場合で以下の場合は、処理を実行することはできません。

    • ロールから権限を削除することで、ビュー表またはプロシジャルーチンの定義者からこれらの資源に必要な権限がなくなる場合

使用例

1

在庫表の利用者“YAMADA”から全権限を削除します。

REVOKE ALL PRIVILEGES ON STOCKS.在庫表 FROM YAMADA

2

ロール“STOCKS_A2”から権限を削除します。

REVOKE SELECT,UPDATE,INSERT ON STOCKS.在庫表 FROM ROLE STOCKS_A2

3

ロール“STOCKS_A2”を他の利用者“SUZUKI”から削除します。

REVOKE STOCKS_A2 FROM SUZUKI