2017-12-13 4 views
0

私はこれらの2つのテーブルを作成しました。彼らはスーパータイプのスタッフの一員です。右paranthesisエラー

私はこのエラーを取得しています理由はわからないんだけど、右括弧行方不明:Oracleでこれらのテーブルを作成しようとすると、私はエラーに

ORA-00907を取得しています。誰でも私の間違いを指摘できますか?

Firstaiders表

DROP TABLE Firstaiders; 
CREATE TABLE Firstaiders(
Staff_ID NUMBER NOT NULL, 

CONSTRAINT pk_Firstaiders PRIMARY KEY (Staff_ID), 

FOREIGN KEY(Staff_ID) REFERENCES Staff(Staff_ID) ON DELETE CASCADE ON UPDATE CASCADE 
); 

セキュリティ表

DROP TABLE Security; 
CREATE TABLE Security(
Staff_ID NUMBER NOT NULL, 
Security_ID NUMBER, 
CRB_CHECK VARCHAR2(8), 
fk1_Stage_ID NUMBER NOT NULL, 

CONSTRAINT pk_Security PRIMARY KEY (Staff_ID), 

FOREIGN KEY(Staff_ID) REFERENCES Staff(Staff_ID) ON DELETE CASCADE ON UPDATE CASCADE 
); 

答えて

0

オラクルで直接サポートされていないON UPDATE CASCADEを削除します。例えば

CREATE TABLE Firstaiders(
Staff_ID NUMBER NOT NULL, 
CONSTRAINT pk_Firstaiders PRIMARY KEY (Staff_ID), 
FOREIGN KEY(Staff_ID) REFERENCES Staff(Staff_ID) ON DELETE CASCADE); 

OracleはON DELETE CASCADE後に右括弧を期待していますが、それはORA-00907

を引き起こしていることを発見した ON UPDATE CASCADE
関連する問題