2016-12-08 12 views
0

oracle 11gで2つのテーブルを明示的にリンクする際に問題が発生しています。私はこのサイトで支援を探していますが、私は必要なものを見つけることができません。外部キーを使用するテーブル

マイBOOKSテーブルは次の文を使用してアップロードされました:

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

私がロードしようとしていますCUSTOMERS表のように書かれる。

しかし
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) 
); 

、私はステートメントを実行します次のエラーが表示されます:

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) 
); 
[oracleに外部キー制約](の
+0

何らかの理由で、私のOracle 11gのバージョンで制約キーワードが嫌いでした。しかし、私は私のCUSTOMERSテーブルと残りのデータベースを取得し、ボトムソリューションに基づいて支援して稼働させることができました。ありがとう – Bob

関連する問題