2017-10-16 19 views
-3
SQL> CREATE VIEW "[my_view]" as select ename, sal from emp where sal>2000; 

EMP에서 VIEW "[my_view]"와 같은 선택 ENAME, SAL을 만들 경우 SAL> 2000 * 1 행에 오류 : ORA-01031 : 권한이 충분하지오라클 SQL 11g의 뷰를 생성하는 방법

SQL> select * from "[my_view]"; 

선택 *에서 "[my_view]" * 1 행에서 오류 : ORA-00942 : 테이블 또는 뷰가 존재하지 않는

이것은 내 코드입니다. 나에게 뭐가 문제 니?

+0

대괄호'[..]'는 SQL 식별자에 대해 유효하지 않습니다. 자세한 내용은 설명서를 참조하십시오. https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129 –

답변

0

뷰의 이름에 []을 추가 할 수 있는지 확실하지 않은 경우 "[My_View]"로 시도하지만 "[My_View]"로 선택을해야합니다.

+0

SQL> select "ename"에서보기 "[my_view]"보기 em> em> sal> 2000; EMP보기 "[my_view]"로 선택 ENAME, SAL을 만들 여기서 SAL> 2,000 * 라인을 1 ERROR : ORA-01031 :있는 권한 SQL 선택> * "[my_view]"행; select * from "[my_view]" * 라인 1의 오류 : ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다. –

+0

이처럼 불충분 한 권한 문제를 어떻게 해결할 수 있습니까? –

0

[]를 만드는 동안 뷰 이름에서 허용되지 않습니다, 쿼리에 대한 추가 정보를 위해이

create view My_View as select ename, sal from emp where sal>2000; 

과 같아야 식별자 "인용"에 대한 브래킷을 사용하지 않는 docs

+0

SQL>보기 만들기 My_View select ename, sal emp에서 sal> 2000; 만들보기 My_View로 선택 ENAME, EMP 곳 SAL> 2000 * 라인 1에 오류에서 샐 : ORA-01031 : 당신은 CREATE VIEW를 부여해야합니다 –

+0

있는 권한이 (스키마에 뷰를 생성하는) 명시 적으로 또는 역할을 통해. 보기를 작성할 충분한 권한이 없습니다. –

+0

어떻게이 부족한 권한 문제를 해결할 수 있습니까? –

0

오라클을 참조하시기 바랍니다 . 올바른 구문은 다음과 같습니다

create view my_view as ... 

또는

create view "MY_VIEW" as .. 

는 데이터베이스 표준 경우 설정으로 변환됩니다없이 동안 대문자와 소문자를 포함하여 정확히 그 이름으로 뷰를 생성 않습니다 인용을 사용. Oracle my_view을 사용하면 MY_VIEW이됩니다.

편집 : 추가하면 가 뷰를 만들 수있는보기 권한을 만들 필요가있다. 난 당신이 당신의 테이블 공간에있는 유일한 사용자가 있다고 가정하고,보기를 사용할 수 있지만 하나를 만들 수 없습니다.

+0

SQL>보기 만들기 my_view select ename, sal emp where sal> 2000; 보기 만들기 my_view select ename, sal from emp where 2000>> * 줄의 오류 : ORA-01031 : 권한이 충분하지 않습니다. –

+0

제 정답을보십시오. – wumpz

+0

당신의 대답은 어디에 있습니까? –