2010-12-07 4 views
1

아래 테이블에 레코드를 삽입하려고하면 "ora-03001 : unimplemented feature"오류가 발생합니다. 밤새 수색 했어. 운이 없다. Oracle10g Express Edition을 사용하고 있습니다. VALUES 절은 모든 괄호에 싸여 할 필요 :오라클 10g 익스프레스 에디션에 대한 도움이 필요합니다

create or replace type MajorsType As varray(20) of varchar2(10); 

create or replace type studenttype as object (
stuID varchar2(5), 
lastName varchar2(15), 
firstName varchar2(12), 
majors MajorsType) 
INSTANTIABLE 
NOT FINAL; 

create table Student of StudentType (
constraint student_stuID_pk PRIMARY KEY(stuID)); 

INSERT INTO student values StudentType ('S999', 'Smith', 'John', MajorsType('Math', 'Accounting')); 
+0

다음과 같이 보일 것 RECORD 변수를 삽입? – orangepips

+0

나는이 일을 처음 접했고, 나는 익스프레스 판이 무료라고 생각한다. – Nate

+0

전체 버전은 자체 교육 목적으로 무료입니다. 상업적 사용에 적용되는 라이센스. – APC

답변

3

그것은 간단한 구문 오류입니다

SQL> INSERT INTO student 
    2 values (StudentType ('S999', 'Smith', 'John', MajorsType('Math', 'Accounting'))) 
    3/

1 row created. 

SQL> 

이것은 우리가 여러 스칼라 값 또는 단일 유형을 전달하고 있는지에 적용됩니다.


적용되지 않는 한 가지 경우는 RECORD 유형을 사용하는 PL/SQL의 삽입입니다. 귀하의 상황과 관련이 없지만, 완전성을 언급하고 있습니다.

쉽게 전체 버전을 다운로드 할 수 있습니다 때 왜 표현의 버전을 사용

declare 
    r23 t23%rowtype; -- record declaration 
begin 
    r23.id := 1; 
    r23.created := sysdate; 
    -- insert using record variable 
    insert into t23 
    values r23; 
end; 
+0

답해 주셔서 감사합니다. 나는 오라클 데이타베이스를위한 초보자입니다. 나는 보통 mySQL과 함께 phpMyAdmin을 사용한다. RECORD에 삽입하는 것에 대한 정보는 – Nate

+0

+1입니다. 그것이 충분히 잘 문서화되지 않았기 때문에 항상 그것에 관한 정보를 찾기가 어렵다. –

관련 문제