2013-09-25 2 views
0

최근에 Oracle Application Express 11g를 설치했습니다.사용자 정의 데이터 유형을 생성하는 중 오류가 발생했습니다.

아래 사용자 정의 데이터 형식을 만들려고합니다.

위 정의에서 DEPT는 현재 스키마에 이미 존재하는 테이블입니다. 위의 SQL 명령을 실행할 때 콘솔에서 아래 예외가 발생합니다.

Error at line 4: PLS-00201: identifier 'DEPT.DEPTNO' must be declared 

2. (
3. dept_no DEPT.deptno%type, 
4. dept_name DEPT.DNAME%type, 
5. LOC DEPT.LOC%type 
6.) 

나는 왜 위와 같은 예외가 발생하는지 이해하지 못합니까? 제 정의에 문제가 있습니까?

답변

4

개체 유형은 개체입니다. SQL에서는 <object>%type을 사용할 수 없으며 PL/SQL 코드에서만이 유형의 구문을 사용할 수 있습니다.

예를 들어이 실패합니다 테이블을 만드는 것처럼

CREATE TABLE test_table (x dual.dummy%type); 

당신은, 정확한 데이터 유형을 지정해야합니다.

+0

답변을 주신 Vincent에게 감사드립니다. – Beast

+0

다른 SQL 객체에 대해 알고 싶으면 유용한 링크를 제공해주십시오. – Beast

+0

물론 [SQL 설명서] (http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_8001.htm#BABHJHEB)부터 시작할 수 있습니다. 완전한 [Object-Relational Developer 's Guide] (http://docs.oracle.com/cd/E11882_01/appdev.112/e11822/toc.htm)도 있습니다. –

관련 문제