REVOKE
REVOKE文は、ユーザーから1つ以上の権限を削除します。
必要な権限
システム権限を削除するには、ADMINが必要です。
オブジェクト権限を削除するには、ADMINが必要であるか、またはオブジェクト所有者である必要があります。
TimesTen Scaleoutでの使用
この文は、TimesTen Scaleoutでサポートされています。
SQL構文
REVOKE {SystemPrivilege [,...] | ALL [PRIVILEGES]} FROM {User |PUBLIC} [,...]または
REVOKE {{ObjectPrivilege [,...] | ALL [PRIVILEGES]} ON {[Owner.Object}} [,...]
FROM {user | PUBLIC}[,...]パラメータ
システム権限を削除するためのパラメータは次のとおりです。
| パラメータ | 説明 |
|---|---|
|
|
削除するシステム権限です。使用できる値のリストについては、「システム権限」を参照してください。 |
|
|
ユーザーからすべてのシステム権限を削除します。 |
|
|
権限が削除されるユーザーの名前。ユーザー名は、 |
|
|
すべてのユーザーの権限を削除することを指定します。 |
オブジェクト権限を削除するためのパラメータは次のとおりです。
| パラメータ | 説明 |
|---|---|
|
|
削除するオブジェクト権限です。使用できる値のリストについては、「オブジェクト権限」を参照してください。 |
|
|
ユーザーからすべてのオブジェクト権限を削除します。 |
|
|
権限が削除されるユーザーの名前。ユーザー名は、 |
|
|
|
|
|
すべてのユーザーの権限を削除することを指定します。 |
説明
-
オブジェクトの所有者から、そのオブジェクトの権限を削除することはできません。
-
権限を付与できるユーザーは、自分以外のユーザーが付与した場合でもその権限を削除できます。
-
権限は、付与されたときと同じレベルで削除する必要があります。ユーザーからオブジェクト権限を削除する場合、関連するシステム権限が付与されているユーザーからは削除できません。たとえば、あるユーザーに
SELECT ANY TABLEを付与し、その後SELECT ON BOB.TABLE1を削除しようとすると、SELECT ANY TABLEに加えてSELECT ON BOB.TABLE1を明示的に付与していない場合は失敗します。 -
ユーザーにすべてのシステム権限が付与されている場合は、特定の権限を削除できます。たとえば、すべてのシステム権限が付与されているユーザーから
ALTER ANY TABLEを削除できます。 -
すべてのオブジェクト権限が付与されているユーザーからは、特定のオブジェクトの特定の権限を削除できます。たとえば、ユーザー
TERRYにすべてのオブジェクト権限が付与されている場合でも、表CUSTOMERSに対するDELETE権限をTERRYから削除できます。 -
ユーザーにすべての権限が付与されていない場合でも、そのユーザーからすべての権限を削除できます。
-
特定の権限を、その権限を付与されていないユーザーから削除することはできません。
-
ユーザーが所有するオブジェクトに対する権限は削除できません。
-
システム権限とオブジェクト権限を1つの文で削除することはできません。
-
オブジェクト権限の文に指定できるオブジェクトの数は1つのみです。
-
ディテール表に対する
SELECT権限またはSELECT権限を含むシステム権限をuser1が所有するディテール表でuser2から削除すると、user2が所有する関連するマテリアライズド・ビューは無効と指定されます。 -
レプリケーションが構成されている場合、この文はレプリケートされます。
例
ADMINおよびDDL権限をユーザーterryから削除します。
REVOKE admin, ddl FROM terry;
ADMIN権限を持っている権限削除者が、patが所有するcustomers表に対するUPDATE権限をterryから削除します。
REVOKE update ON pat.customers FROM terry;