2017-02-22 14 views
0

Ich erhalte diesen Fehler bei der Verwendung von Oracle XE 11g Ich habe es für 2 Stunden ausgewählt und kann nicht finden, wo der Syntaxfehler liegt.SQL-Syntaxfehler | ORA-00904: ungültiger Bezeichner

CREATE TABLE vacation_unit 
 
('VACATION_ID' INT NOT NULL COMMENT 'Vacation ID primary key', 
 
    'LOCATION_NUM' INT NULL COMMENT 'Location Number', 
 
    'UNIT_NUM' INT NULL COMMENT 'Unit Number in Condo building', 
 
    'SQR_FT' DECIMAL (5,0) NULL COMMENT 'Size of COONDO unit in square feet', 
 
    'BDRMS' DECIMAL (2,0) NULL COMMENT 'Number of bedrooms in CONDO', 
 
    'BATHS' DECIMAL (2,0) NULL COMMENT 'Number of bathrooms', 
 
    'VACATION_FEE' DECIMAL (6,2) NULL COMMENT 'Monthly condo fee', 
 
    'OWNER_NUM' CHAR(5) NULL COMMENT 'Number of CONDO owner', 
 
    PRIMARY KEY ('VACATION_ID'));

Ich habe diese Online-Syntax Checker und die zweite Linie wird immer hervorgehoben verwendet, aber wenn ich diese Zeile löschen wird dann hebt die Zeile, die es geht. Das führt mich zu der Annahme, dass etwas mit der gesamten Struktur des Codes nicht stimmt. Will jemand helfen?

Vielen Dank, Xlar

Antwort

1

die Anführungszeichen entfernen und die Kommentare eigenen Angaben zu bewegen, nachdem die Tabelle erstellt wurde:

CREATE TABLE vacation_unit(
    VACATION_ID INT   NOT NULL, 
    LOCATION_NUM INT   NULL, 
    UNIT_NUM  INT   NULL, 
    SQR_FT  DECIMAL (5,0) NULL, 
    BDRMS  DECIMAL (2,0) NULL, 
    BATHS  DECIMAL (2,0) NULL, 
    VACATION_FEE DECIMAL (6,2) NULL, 
    OWNER_NUM CHAR(5)  NULL, 
    PRIMARY KEY (VACATION_ID) 
); 

COMMENT ON COLUMN vacation_unit.vacation_id IS 'Vacation ID primary key'; 
COMMENT ON COLUMN vacation_unit.location_num IS 'Location Number'; 
COMMENT ON COLUMN vacation_unit.unit_num  IS 'Unit Number in Condo building'; 
COMMENT ON COLUMN vacation_unit.sqr_ft  IS 'Size of COONDO unit in square feet'; 
COMMENT ON COLUMN vacation_unit.bdrms  IS 'Number of bedrooms in CONDO'; 
COMMENT ON COLUMN vacation_unit.baths  IS 'Number of bathrooms'; 
COMMENT ON COLUMN vacation_unit.vacation_fee IS 'Monthly condo fee'; 
COMMENT ON COLUMN vacation_unit.owner_num IS 'Number of CONDO owner'; 
2

Einfache Anführungszeichen sind für Zeichenketten.

Sie müssen doppelte Anführungszeichen verwenden " (für die Groß-/Kleinschreibung beachten) oder gar keine Anführungszeichen (Groß-und Kleinschreibung beachten).

+2

@Xlar - und, es am besten ist, wenn man „als ob“ Spaltennamen in wirken doppelt zitiert don Es gibt sie nicht. Verwenden Sie keine Spaltennamen, für die doppelte Anführungszeichen erforderlich sind (einschließlich Spaltennamen, die reservierte Oracle-Wörter sind, Spaltennamen, die mit einer Ziffer beginnen oder nicht-buchstabenartige, nicht-numerische Symbole außer Unterstrichen und Namen, die die Groß-/Kleinschreibung beachten) Wenn doppelte Anführungszeichen erforderlich sind, kann dies nur zu Problemen mit Ihrer Datenbank und Ihren Abfragen führen. – mathguy

Verwandte Themen