OracleでのGRANT文の使い方は何ですか?
Oracleデータベースでは、GRANTコマンドは特定の権限や特権をユーザーまたはロールに付与するために使用されます。基本的な構文は以下の通りです:
GRANT privilege [, privilege ...]
ON [object]
TO {user | role | PUBLIC}
[WITH GRANT OPTION];
- 権限:付与される権利の指定、システムの権限、役割、またはオブジェクト権限のいずれかです。
- 対象:権限を付与したいオブジェクトを指定します。テーブル、ビュー、プロシージャなどのデータベースオブジェクトが選択できます。
- ユーザー:権限を与えるユーザーを指定してください。
- 役割:権限を与えることが指示された役割。
- 公開:すべてのユーザーに権限を付与する。
- GRANT OPTION付き:特定のユーザーが権限を他のユーザーやロールに付与することができることを示します。
例えば、ユーザー”test_user”に”employees”テーブルへのSELECTおよびINSERT権限を付与する命令は以下の通りです:
GRANT SELECT, INSERT ON employees TO test_user;
“employees”テーブルに対するすべての権限を持つ”admin_role”役割を与え、その役割が他のユーザーに権限を委任できるようにします。
GRANT ALL ON employees TO admin_role WITH GRANT OPTION;
注意:GRANT命令の実行には、適切な権限を持つユーザーが必要です。