2016-12-08 2 views
0

오라클 11g에 2 개의 테이블을 명시 적으로 연결하는 데 문제가 있습니다. 이 사이트에서 지원을 요청했지만 필요한 정보를 찾을 수 없습니다.외래 키를 사용하는 테이블

내 책 테이블은 다음 문을 사용하여로드

: 나는 문을 실행할 때, 그러나

CREATE TABLE CUSTOMERS(
CUST_ID NUMBER(10) PRIMARY KEY, 
FIRST_NAME VARCHAR2(20) NOT NULL, 
LAST_NAME VARCHAR2(20) NOT NULL, 
STREET_ADDRESS_1 VARCHAR2(30) NOT NULL, 
STREET_ADDRESS_2 VARCHAR2(20), 
CITY VARCHAR2(20) NOT NULL, 
ST VARCHAR2(2), 
ZIP_CODE VARCHAR2(10) NOT NULL, 
PHONE_NUMBER_1 VARCHAR2(20)NOT NULL, 
PHONE_NUMBER_2 VARCHAR2(20), 
EMAIL VARCHAR2(40) NOT NULL, 
CREDIT_LIMIT NUMBER(7,2) NOT NULL, 
FOREIGN KEY ST REFERENCES STATES(ST) 
); 

:

CREATE TABLE STATES(
ST VARCHAR2(2) PRIMARY KEY, 
STATES VARCHAR2(20) NOT NULL 
); 

내가로드하려고 고객 테이블과 같은 기록을 다음과 같은 오류가 발생합니다 :

ORA-00906: missing left parenthesis 
00906. 00000 - "missing left parenthesis" 
*Cause:  
*Action: 

나는 오류가 FOREIGN KEY po 그 명령문없이 테이블을로드 할 수 있기 때문에 명령문의 외래 키 제약 올바른 하나를 선언하면서

+0

가능한 중복 http://stackoverflow.com/ 질문/9604099/foreign-key-constraint-in-oracle) – Rene

답변

0

당신은 구문 오류가 있습니다

CREATE TABLE CUSTOMERS(
CUST_ID NUMBER(10) PRIMARY KEY, 
FIRST_NAME VARCHAR2(20) NOT NULL, 
LAST_NAME VARCHAR2(20) NOT NULL, 
STREET_ADDRESS_1 VARCHAR2(30) NOT NULL, 
STREET_ADDRESS_2 VARCHAR2(20), 
CITY VARCHAR2(20) NOT NULL, 
ST VARCHAR2(2), 
ZIP_CODE VARCHAR2(10) NOT NULL, 
PHONE_NUMBER_1 VARCHAR2(20)NOT NULL, 
PHONE_NUMBER_2 VARCHAR2(20), 
EMAIL VARCHAR2(40) NOT NULL, 
CREDIT_LIMIT NUMBER(7,2) NOT NULL, 
CONSTRAINT FK_CUSTOMERS FOREIGN KEY (ST) REFERENCES STATES(ST) 
); 

또는

CREATE TABLE CUSTOMERS(
CUST_ID NUMBER(10) PRIMARY KEY, 
FIRST_NAME VARCHAR2(20) NOT NULL, 
LAST_NAME VARCHAR2(20) NOT NULL, 
STREET_ADDRESS_1 VARCHAR2(30) NOT NULL, 
STREET_ADDRESS_2 VARCHAR2(20), 
CITY VARCHAR2(20) NOT NULL, 
ST VARCHAR2(2), 
ZIP_CODE VARCHAR2(10) NOT NULL, 
PHONE_NUMBER_1 VARCHAR2(20)NOT NULL, 
PHONE_NUMBER_2 VARCHAR2(20), 
EMAIL VARCHAR2(40) NOT NULL, 
CREDIT_LIMIT NUMBER(7,2) NOT NULL, 
FOREIGN KEY (ST) REFERENCES STATES(ST) 
); 
[오라클의 외래 키 제약 조건] (의
+0

어떤 이유로 든 Oracle 11g의 나의 버전은 제약 조건 키워드를 좋아하지 않았습니다. 그러나, 나는 밑바닥 해결책에 근거를 둔 당신의 원조로 나의 고객 테이블 및 나의 데이타베이스의 나머지를 달리고 달릴 수 있었다. 감사 – Bob

관련 문제