2013-04-01 9 views

답변

1

다음은 V6R1 documentation에서입니다 : 명령문의 권한 부여 ID가 ​​보유

인증

특권해야 다음 중 하나 이상을 포함한다 :

스키마에 작성할 특권. 자세한 내용은 스키마에서 만드는 데 필요한 권한을 참조하십시오.

다음의 시스템 권한 : 명령문의 권한 부여 ID가 ​​보유

관리 권한

권한은해야 다음 중 적어도 하나를 포함 *하는 데 사용하는 논리 파일 만들기 (CRTLF를) CL 명령 * 뷰가 작성된 라이브러리 이 데이터 사전이있는 SQL 스키마 인 경우, 데이터 사전에 대한 CHANGE 관리 권한

명령문의 권한 부여 ID를 가지고 있어야합니다 다음 중 적어도 하나가 포함 fullselect에에서 참조 뷰를 통해 fullselect에, 또는 간접적를 통해 직접 참조하는 각 테이블과 뷰를 들어

: 테이블 또는 뷰에 대한 SELECT 특권 및 시스템 권한 * 관리 권한을

보기 소유권을 테이블을 포함 에 라이브러리를 실행하거나 볼 : SQL 이름이 지정되면 :

보기가 생성 된 스키마와 동일한 이름을 가진 사용자 프로필이있는 경우 해당보기의 소유자는 해당 사용자 프로필입니다.
그렇지 않으면보기의 소유자는 사용자 프로필 또는 그룹 사용자 문을 실행하는 작업의 프로필입니다.

시스템 이름이 지정된 경우 뷰 소유자는 문을 실행하는 작업의 사용자 프로필 또는 그룹 사용자 프로필입니다.

보기 권한 : SQL 이름을 사용하는 경우

,보기는 * PUBLIC을에서 제외하려면 * 의 시스템 권한으로 작성됩니다.시스템 이름이 사용되는 경우 스키마의 작성 권한 (CRTAUT) 매개 변수에 의해 결정된 * PUBLIC에 대한 권한으로보기가 작성됩니다.

보기의 소유자가 그룹 프로필 (GRPPRF 키워드)의 구성원이고 그룹 권한이 지정된 경우 (GRPAUT 키워드) 해당 그룹 프로필도보기에 대한 권한을가집니다.

소유자는 항상 에서 WITH GRANT OPTION SELECT 권한을 얻고 뷰를 삭제할 수있는 권한을 부여받습니다.

소유자는 또한보기에서 INSERT, UPDATE 및 DELETE 권한 을 얻을 수 있습니다. 뷰가 읽기 전용이 아닌 경우 소유자가 fullselect의 첫 번째 FROM 절에서 식별 된 테이블 또는 뷰에있는 것과 동일한 권한 인 이 새 뷰에서 획득됩니다. 이 특권은 부여 된 특권이 인 경우에만 부여 될 수 있습니다.

2

SQL 이름 지정을 사용하는 것처럼 들립니다. 대신 시스템 이름 지정을 사용하면 QCRTAUT 시스템 값에 따라 공용 권한이 부여됩니다. Birgitta Hauser's article을 참조하십시오.

시스템 이름 지정에는 작업 라이브러리리스트를 사용하여 규정되지 않은 오브젝트 참조를 분석하는 추가 장점이 있습니다. 스키마 이름을 하드 코딩하지 않고 시스템이 라이브러리 목록에 따라 코드를 찾을 수있게함으로써 코드를 수정하지 않고도 코드를 수정하지 않고도 다양한 환경 (예 : 개발, 테스트, 교육, 생산)에서 코드를 작동 할 수 있습니다. 다른 라이브러리 목록. 따라서 테스트에 사용 된 코드와 정확히 동일한 코드를 프로덕션에 설치할 수 있습니다.

관련 문제