1

Oracle SQL Developerがあり、指定したテーブルに複数のロールを作成して設定したいのですが(たとえば、挿入、更新、削除、選択ステートメントなど)、GrantまたはRevokeステートメントを使用して次のように実行します。

GRANT INSERT, UPDATE on Employees to username or rolename
REVOKE INSERT, UPDATE on Employees from username or rolename

結果が表示されないため、Oracleでinsert、update、selectステートメントを使用できず、これらのステートメントを何度も発行しようとしましたが、機能しません。

私は何をすべきか?

4

3 に答える 3

1

これらの特権をユーザーに付与できるようにするには、そのための特権を持つユーザーに接続する必要があります。

そのようなユーザーと接続している場合は、このようなユーザー特権を付与できます

GRANT UPDATE ANY TABLE TO "user";

あなたもADMIN OPTIONこのように壮大にすることができます

GRANT UPDATE ANY TABLE TO "user" WITH ADMIN OPTION;

また、特定の役割/ユーザーから特定のテーブルへの特権を付与することもできます。

GRANT SELECT ON "table_name" TO "user_or_role"; 

次のステートメントは、empテーブルのすべての列に対するSELECT、INSERT、およびDELETEオブジェクト権限をユーザーjfeeおよびtsmithに付与します。

GRANT SELECT, INSERT, DELETE ON "table" TO "user1", "user2";

ユーザー権限の管理については、 http://docs.oracle.com/cd/B10500_01/server.920/a96521/privs.htmを参照してください。

于 2012-09-19T09:03:24.327 に答える
0

GRANT と REVOKE を一緒に発行しましたか? GRANT は提供し、REVOKE は奪うので、それらを一緒に発行しても何も行われません。GRANT ステートメントを発行してアクセス権を付与するだけです

GRANT INSERT, UPDATE ON schema.table1 TO username;

USERNAME が SCHEMA の TABLE1 の行を挿入および更新できるようにします。

REVOKE INSERT, UPDATE ON schema.table1 FROM username;

付与した場合、USERNAME が SCHEMA の TABLE1 の行を挿入および更新することを許可していた付与を削除します (付与していない場合は、付与していないことが通知されます)。

于 2012-09-19T09:08:04.683 に答える
0

最後にセミコロンがないのはタイプミスですか?

ステートメントを実行すると、どのような出力が得られますか?

于 2012-09-19T09:04:50.460 に答える