Ungültiger Datentyp beim hinzufügen der Einschränkung in Oracle

Möchte ich diese Tabelle erstellen in Oracle. Dies ist nur der table-SQL-Skript.

     -- CREATE TABLES SECTION -------------------------------------------------

-- TABLE DATACENTER

CREATE TABLE DATACENTER(
  DATACENTERID INTEGER NOT NULL,
  NAME VARCHAR2(80 ) NOT NULL,
  LOCATION VARCHAR2(200 ),
  DCALLOWEDWEIGHTKG NUMBER(9,0),
  DCMAXIMUMWEIGHTKG NUMBER(9,0),
  DCALLOWEDPOWERWATT NUMBER(9,0),
  DCMAXPOWERWATT NUMBER(9,0),
  DCALLOWCOOLINGPOWERBTU NUMBER(9,0),
  DCMAXCOOLINGPOWERBTU NUMBER(9,0),
  DESCRIPTION CLOB
)
/
-- ADD KEYS FOR TABLE DATACENTER

ALTER TABLE DATACENTER ADD CONSTRAINT DATACENTERID PRIMARY KEY (DATACENTERID)
/

-- TABLE COMPONENT

CREATE TABLE COMPONENT(
  COMPONENTID INTEGER NOT NULL,
  DATACENTERID INTEGER,
  FKCOMPONENTID INTEGER,
  COMPONENTSTATSID INTEGER NOT NULL
)
/

-- ADD KEYS FOR TABLE COMPONENT

ALTER TABLE COMPONENT ADD CONSTRAINT COMPONENTID PRIMARY KEY (COMPONENTID)
/
-- CREATE RELATIONSHIPS SECTION ------------------------------------------------- 

ALTER TABLE COMPONENT ADD CONSTRAINT IS PART OF A FOREIGN KEY (DATACENTERID) REFERENCES DATACENTER (DATACENTERID)
/

ALTER TABLE COMPONENT ADD CONSTRAINT IS A SUBPART OF FOREIGN KEY (FKCOMPONENTID) REFERENCES COMPONENT (COMPONENTID)
/

Den Fehler-stack:

table DATACENTER created.
table DATACENTER altered.
table COMPONENT created.
table COMPONENT altered.

Error starting at line 39 in command:
ALTER TABLE COMPONENT ADD CONSTRAINT IS PART OF A FOREIGN KEY (DATACENTERID) REFERENCES DATACENTER (DATACENTERID)
Error report:
SQL Error: ORA-00902: invalid datatype
00902. 00000 -  "invalid datatype"
*Cause:    
*Action:

Error starting at line 42 in command:
ALTER TABLE COMPONENT ADD CONSTRAINT IS A SUBPART OF FOREIGN KEY (FKCOMPONENTID) REFERENCES COMPONENT (COMPONENTID)
Error report:
SQL Error: ORA-00902: invalid datatype
00902. 00000 -  "invalid datatype"
*Cause:    
*Action:

BEARBEITEN ich bearbeitet den code, weil ich sah, dass einige SQL-Anweisungen fehlen.
Kann ich das schema, wenn Sie wollen?

Die besten Wünsche

  • Wieder: Sie sind mit ungültigen Namen für Ihre Einschränkungen (IS PART OF A und IS A SUBPART OF). Müssen Sie NICHT verwenden Sie ein Leerzeichen in die constraint-Namen
  • Ja, das ist das problem. Danke!!!
InformationsquelleAutor Peter Penzov | 2012-04-01
Schreibe einen Kommentar