0

SQL開発者(Oracle 11g)で以下を使用して新しいユーザーを作成しました。このユーザーが選択、更新、および挿入できるようにする FEED_DATA_A および FEED_DATA_B というタイトルのテーブルが 2 つしかありません。それを達成するための適切な権限を作成するためのSQLを理解するのを手伝ってくれる人はいますか? 現在、システムユーザーとしてログインしています。

CREATE USER "USER_A" IDENTIFIED BY "test123";
4

1 に答える 1

2

ユーザーに直接権限を付与したい場合

GRANT select, update, insert 
   ON table_owner.feed_data_a
   TO user_a;
GRANT select, update, insert 
   ON table_owner.feed_data_b
   TO user_a;

ただし、より一般的には、ロールを作成し、そのロールをユーザーに付与し、そのロールに特権を付与します。これにより、将来、付与する必要がある可能性のあるすべての権限を把握するのではなく、いくつかのロールを付与するためだけに USER_A と同じ権限を付与したい新しいユーザーが作成された場合に簡単になります。また、新しいテーブルが作成され、新しい権限が付与され、同じ権限を持つべきユーザーが引き続き同じ権限を持つようにすることが容易になります。

CREATE ROLE feed_data_role;

GRANT select, update, insert 
   ON table_owner.feed_data_a
   TO feed_data_role;
GRANT select, update, insert 
   ON table_owner.feed_data_b
   TO feed_data_role;

GRANT feed_data_role
   TO user_a
于 2013-10-31T21:08:37.087 に答える