2016-11-17 1 views
-1

Dies ist die Abfrage, die ich für eine Oracle-Datenbank ausführen möchte, die anscheinend keine Klammern enthält.SQL-Fehler: ORA-00907: fehlende rechte Klammer beim Versuch, eine Tabelle zu erstellen

CREATE TABLE P_DOG(
DOG_ID CHAR(5) NOT NULL, 
DOG_NAME VARCHAR2(30) NOT NULL DEFAULT 'UNKNOWN', 
DOG_BIRTHDAY_MONTH NUMBER(2) NULL CHECK(DOG_BIRTH_MONTH>=1 AND DOG_BIRTH_MONTH<=12), 
DOG_BIRTHDAY_YEAR NUMBER(4) NOT NULL CHECK(DOG_BIRTH_YEAR>=1980 AND DOG_BIRTH_YEAR<= 2030), 
SEX CHAR(1) NOT NULL, 
SPAYED_OR_NEUTERED CHAR(1) NOT NULL DEFAULT 'N', 
CONSTRAINT DOG_PK PRIMARY KEY(DOG_ID), 
); 
+4

Extra ',' am Ende – Mat

Antwort

1

Neben dem zusätzlichen Komma am Ende, dass Mat in einem Kommentar darauf hingewiesen, soll nach den Vorgaben NOT NULL kommen - und die Check-Einschränkungen sollten die richtigen Spaltennamen haben: die Spaltennamen BIRTHDAY haben aber die Bedingungen Gebrauch GEBURT, ändere entweder den Spaltennamen oder was du in den Bedingungen hast, damit sie übereinstimmen.

Insbesondere der Fehler "fehlende rechte Klammer" wird durch eine DEFAULT nach NOT NULL verursacht. Falsche Bestellung.

+0

DANKE SEHR VIEL! DAS HILFT! – james

Verwandte Themen