この文は、ユーザのパーミッションを取り消すために使用します。
REVOKE permission, ... FROM userid, ...
permission : CONNECT | DBA | BACKUP | CREATE ON dbspace | GROUP | INTEGRATED LOGIN | KERBEROS LOGIN | MEMBERSHIP IN GROUP userid, ... | PROFILE | RESOURCE | VALIDATE
REVOKE table-permission, ... ON [ owner.]table-name FROM userid, ...
table-permission : ALL [PRIVILEGES] | ALTER | DELETE | INSERT | REFERENCES [ ( column-name, ... ) ] | SELECT [ ( column-name, ... ) ] | UPDATE [ ( column-name, ... ) ]
REVOKE EXECUTE ON [ owner.]procedure-name FROM userid, ...
REVOKE 文は、GRANT 文を使って付与したパーミッションを削除します。構文 1 は、特殊ユーザ・パーミッションを取り消します。構文 2 は、テーブル・パーミッションを取り消します。構文 3 は、プロシージャの EXECUTE パーミッションを取り消します。
REVOKE CONNECT はデータベースからユーザ ID を削除すると一緒に、そのユーザが所有しているオブジェクト (テーブル、ビュー、プロシージャなど) と、そのユーザによって付与されたパーミッションも破棄します。削除されているユーザが、別のユーザが所有するビューによって参照されるテーブルを所有する場合、そのユーザに対して REVOKE CONNECT を実行することはできません。
REVOKE GROUP は、グループのすべてのメンバから MEMBERSHIP IN GROUP を自動的に取り消します。
グループにユーザを追加すると、ユーザはそのグループに割り当てられたすべてのパーミッションを継承します。SQL Anywhere では、ユーザがグループのメンバとして継承するパーミッションのサブセットを取り消すことはできません。取り消すことができるのは、GRANT 文によって明示的に付与されるパーミッションだけです。異なるユーザに別々のパーミッションを付与する必要がある場合、適切なパーミッションを持つグループを別々に作成するか、必要なパーミッションを各ユーザに明示的に付与することができます。
テーブル、ビュー、プロシージャに対するグループ・パーミッションを付与したり取り消したりすると、グループのメンバ全員がその変更を継承します。DBA、RESOURCE、GROUP の各パーミッションについては継承されません。これらのパーミッションは、必要に応じて各ユーザ ID に割り当てる必要があります。
あるユーザに付与した WITH GRANT OPTION パーミッションを取り消すと、それ以前にそのユーザが他のユーザに付与した WITH GRANT OPTION パーミッションも取り消されます。
取り消されるパーミッションの付与者であるか、DBA 権限が必要です。
接続パーミッションまたは別のユーザからのテーブル・パーミッションを取り消す場合、他のユーザはそのデータベースに接続できません。DBO からの接続パーミッションの取り消しはできません。
ユーティリティ・データベースに接続するときに REVOKE CONNECT FROM DBA を実行すると、以降のユーティリティ・データベースへの接続が無効になります。これは、REVOKE CONNECT を実行する前に確立していた接続を使用するか、データベース・サーバを再起動しないかぎり、以降はユーティリティ・データベースに接続できないことを意味します。
オートコミット。
SQL/2003 構文 1 はベンダ拡張です。構文 2 はコア機能です。構文 3 は永続的ストアド・モジュール機能です。
ユーザ Dave が Employees テーブルを更新できないようにします。
REVOKE UPDATE ON Employees FROM Dave; |
ユーザ Jim からリソース・パーミッションを取り消します。
REVOKE RESOURCE FROM Jim; |
ユーザ・プロファイル名 Administrator から統合化ログイン・マッピングを取り消します。
REVOKE INTEGRATED LOGIN FROM Administrator; |
Finance グループがプロシージャ ShowCustomers を実行できないようにします。
REVOKE EXECUTE ON ShowCustomers FROM Finance; |
ユーザ ID FranW をデータベースから削除します。
REVOKE CONNECT FROM FranW; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |