2

ユーザーがいくつかの SQL クエリを入力して実行できるプラットフォームがあるとします。DBはOracle 11.2です

ユーザーの操作を CREATE TABLE、CREATE VIEW、および ALTER table ADD COLUMN に制限する方法はありますか?

私が見る唯一の方法は、ユーザーが提供したすべてのクエリを Oracle DB 11.2 の文法で解析することです。しかし、無料アクセスには完全な文法がなく (少なくとも私は見つけることができませんでした)、実装には数週間とは言わないまでも数日かかるため、この方法は非常に面倒です。

4

1 に答える 1

1

CREATE TABLE および CREATE VIEW 権限を付与します。
ALTER TABLE の場合、ADD COLUMN だけを制限するには、プロシージャを作成して EXECUTE を許可することができます。

create or replace add_column( tableName varchar2, columnDefinition varchar2 ) 
as
  execute immediate 'alter table '|| tableName || ' add column ' || columnDefinition; 
end;
/

(未検証)

GRANT EXECUTE on ADD_COLUMN to user2;
于 2013-10-13T19:41:02.553 に答える