テーブル内の 1 つの列のみを編集する権限をユーザーに付与したいと考えています。ここで使用するコマンドは何ですか? Oracle 11g データベースを使用しています。テーブル全体で読み取りまたは削除のみを許可する方法はすでに知っていますが、1 つ以上の列に対してのみ許可するにはどうすればよいですか? 例を挙げてください。
質問する
47369 次
2 に答える
37
たとえば、ename 列のみに更新権限を付与する場合は、次のステートメントを指定します (xyz はユーザー名です)。
grant update (ename) on emp to xyz;
構文:
grant update(column-name) on table-name to user-name
EDIT:(選択権限を付与するため)
emp テーブルの select ステートメントを XYZ に付与し、XYZ にこの権限をさらに渡すことができるようにするには、次のように GRANT ステートメントで WITH GRANT OPTION 句を指定する必要があります。
grant select on emp to xyz with grant option;
また、たとえば、ename 列のみに更新権限を付与し、empno 列と ename 列のみに挿入権限を付与する場合は、次のようにします。
grant update (ename),insert (empno, ename) on emp to xyz;
于 2013-01-22T16:29:12.810 に答える
6
このソースに基づいて:
、、および権限のみINSERT
を列レベルで付与できます。列レベルで付与する場合、null 以外のすべての列を行に含める必要があります。UPDATE
REFERENCES
INSERT
次に例を示します。
GRANT update (column_name) ON table_name TO user_name;
于 2013-01-22T16:27:39.080 に答える