ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## GRANT

GRANT文は、1つ以上の権限をユーザーに割り当てます。

アクセス制御

TimesTenインスタンスでアクセス制御が有効な場合、この文を実行するにはインスタンス管理者権限が必要です。TimesTenインスタンスでアクセス制御を使用しない場合は、この処理を使用できません。アクセス制御が有効でない場合にこの文をコールすると、エラーが返されます。

SQL構文
GRANT {Privilege [,...] | ALL [PRIVILEGES]} TO {User |PUBLIC} [,...]
パラメータ

GRANT文には、次のパラメータがあります。

Privilege | Privilegeに使用できる値は、次のとおりです。 ADMIN CONNECT CREATE DATASTORE DDL WRITE SELECT TimesTenのアクセス制御権限の詳細は、「アクセス制御権限」を参照してください。
ALL [PRIVILEGES] | ユーザーにすべてのTimesTen権限を割り当てます。
User | 権限を付与するユーザーの名前です。ユーザー名は、CREATE USER文を使用してTimesTenインスタンスに設定しておく必要があります。
PUBLIC | TimesTenインスタンスで現在定義されているすべてのユーザー名、および今後定義されるすべてのユーザー名に権限を付与することを指定します。

説明

- ユーザーの権限は、インスタンス・レベルでのみ付与されます。ただし、権限が明示的にユーザーに付与されていない場合でも、ユーザーには自分の表に対するWRITEおよびSELECT権限が常に設定されます。権限は、インスタンスのすべてのデータ・ストアおよびそのオブジェクトに適用されます。今回のリリースのTimesTenでは、データ・ストアまたは表レベル権限などのより高精度の認証はサポートされていません。
- 権限は累積されます。ユーザーに下位レベルの権限を付与しても、ユーザーに付与済の上位レベルの権限はレベルが低下しません。下位レベルの権限を持たないユーザーに上位レベルの権限を付与しても、下位レベルの権限は付与されません。権限をユーザーから削除するには、REVOKE文を使用する必要があります。
- 権限は接続時に決定され、切断されるまで有効です。ユーザーまたはユーザー識別が権限を変更または取り消しても、ユーザーが新しい接続を確立するまで有効になりません。
- 権限がユーザーに明示的に付与されていない場合でも、ユーザーには常に所有するすべての表に対するWRITEおよびSELECT権限が付与されます。
- WITH GRANT OPTION句はサポートされていません。ユーザーは権限を他のユーザーに渡すことはできません。

##### 例13.70

ユーザーTerryに権限がない場合に管理権限を付与するには、次の文を使用します。

    GRANT ADMIN TO terry;

##### 例13.71

ユーザーTerryに権限がない場合に読取り処理のみを実行できるように制限するには、次の文を使用します。

    GRANT SELECT TO terry;