내 테이블의 한 열만 편집하도록 사용자에게 권한을 부여하고 싶습니다. 여기에 어떤 명령을 사용합니까? Oracle 11g 데이터베이스를 사용합니다. 나는 alrdy가 전체 테이블에 대해서만 읽기 또는 삭제 만 허용 할 수 있음을 알고 있지만 어떻게 하나의 컬럼 또는 그 이상에서만 그것을 수행 할 수 있습니까? pls 예제를 제공합니다. this source을 바탕으로테이블의 한 열만 변경하십시오.
8
A
답변
13
예를 들어, 당신은 (XYZ는 사용자 이름 임) 만 후 다음 문을 줄 ENAME 컬럼에 업데이트 권한을 부여 할
grant update (ename) on emp to xyz;
구문 :
grant update(column-name) on table-name to user-name
편집 : (granti에 대한
emp 테이블의 SELECT 문을 XYZ에 부여하고 XYZ가이 권한을 계속 넘길 수있게하려면 GRANT 문에 WITH GRANT OPTION 절을 부여해야합니다. 완벽한 일
grant update (ename),insert (empno, ename) on emp to xyz;
4
:
만INSERT
,
UPDATE
및
REFERENCES
권한은 열 수준에서 부여 할 수 있습니다. 열 수준에서
INSERT
을 부여 할 때 행에 모든 not null 열을 포함해야합니다. 여기
은 예입니다
GRANT update (column_name) ON table_name TO user_name;
들으하지만 그냥 :
또한, 예를 들어 당신이 ENAME 컬럼 만에 갱신 권한을 부여 만 EMPNO와 ENAME 컬럼에 특권을 삽입 할, 당신은이 작업을 수행 할 수 있습니다 빨간색은 select 문과 함께 작동하지 않습니다. 나는 대체 견해를 만들었다. 이게 맞습니까 –
뜻 ... 선택 권한을 부여 할 수 없습니까? 우리는 select 권한도 부여 할 수 있다고 생각합니다. –
주 : UPDATE 특권과 함께 테이블에 대해 SELECT 특권을 부여해야합니다. –