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

3.47 GRANT文

機能

権限を定義します。

記述形式

表に対する権限を認可識別子またはロールに付与

スキーマに対する権限を認可識別子またはロールに付与

プロシジャルーチンに対する権限を認可識別子またはロールに付与

ファンクションルーチンに対する権限を認可識別子またはロールに付与

トリガに対する権限を認可識別子またはロールに付与

順序に対する権限を認可識別子またはロールに付与

データベーススペースに対する権限を認可識別子またはロールに付与

ロールを他の利用者に付与

構文の構成

参照項番

一般規則

ALL PRIVILEGES
  • ALL PRIVILEGESが指定された場合、付与者が付与可能なすべての権限が、指定された資源に設定できる範囲で付与されます。

  • すでに付与者が指定された資源に対し個別に権限を設定している場合、ALL PRIVILEGESは指定できません。

動作リスト
  • 動作は、権限の対象となる動作です。

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は、1回のみ指定できます。

注意

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

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

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

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

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

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

ロール名(スキーマ、表、プロシジャルーチン、ファンクションルーチン、トリガ、順序およびデータベーススペースに対する権限をロールに付与する場合に指定)
  • ロール名は、権限を付与するロールの名前を指定します。

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

  • 指定したロールは定義済でなければなりません。

  • 実行者は、指定した権限の付与権を保持していなければなりません。

WITH GRANT OPTION
  • WITH GRANT OPTIONを指定すると、指定した権限をほかの人に与える権限(付与権)も与えることができます。

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

  • 権限受領者にPUBLICを指定している場合、PUBLICに対して付与権は付与されません。

使用例

例1

利用者“YAMADA”および“TANAKA”に、在庫表に対する全権限を付与します。

GRANT ALL PRIVILEGES ON TABLE STOCKS.在庫表 TO YAMADA,TANAKA

2

ロール“STOCKS_A2”に在庫表に対する必要な権限を付与します。

GRANT SELECT,UPDATE,INSERT ON STOCKS.在庫表 TO ROLE STOCKS_A2

3

ロール“STOCKS_A2”を利用者“SUZUKI”に付与します。

GRANT STOCKS_A2 TO SUZUKI