2016-05-26 8 views
0

ich von W3school, dass dieser Befehl lesenüber Fremdschlüssel funktioniert nicht in Oracle

P_Id int FOREIGN KEY REFERENCES Persons(P_Id) 

wird in PLSQL arbeiten, als ich versuchte, diese auf SQL Developer dann war es eine Ausnahme von

werfen ORA-00907: fehlende rechte Klammer

danach ersetzt ich diesen Befehl mit folgenden

P_Id int, 
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id) REFERENCES Persons(P_Id) 

und es funktionierte, möchte ich fragen, ob der erste Befehl nicht für Orakel ist oder ist etwas falsch mit meinem Orakel.

+2

Verwenden Sie nicht w3fools. Es ist voller Fehler –

+0

danke a_horse_with_no_name –

Antwort

3

Der foreign key Teil für eine Inline Einschränkung ist ungültig. Sie können nur verwenden references

create table x 
(
    p_id integer references persons(p_id) 
); 
+0

yeah, es hat funktioniert es danke –

+1

Es hilft, ein wenig über Inline-und Out-of-Line-Einschränkungen zu lesen, sie verursachen eine faire Anzahl von Fragen in diesem Forum. Oracle-Dokumentation: https://docs.oracle.com/cd/B28359_01/server.111/b28286/clauses002.htm – mathguy