[Oracle 9.x] Wie kann ich ein Auto_Icrement bei Oracle setzen
-
Hallo zusammen,
ich habe eine DB auf MySQL laufen und möchte die DB jetzt auf Oracle 9 importieren.
Nun habe ich das Problem, dass wenn ich eine Tabelle erstellen möchte das CREATE - Statement nicht ausgeführt wird, da ich AUTO_ICREMENT verwende.Nach einer kleine Recherche habe ich entdeckt, dass Oracle die Option nicht unterstützt.
Es war ein Bsp. dabei wie man es über Sequence und Trigger lösen kann. Doch auch diese Lösung funktioniert nicht richtig.Hier mal mein Code:
CREATE SEQUENCE zeitkonflikte_sequence START WITH 1 INCREMENT BY 1 CACHE 2; create table zeitkonflikte ( idZeitkonflikte INT NOT, personalnummer varchar(20) NOT NULL, datum varchar(12), PRIMARY KEY (idZeitkonflikte, personalnummer), FOREIGN KEY (personalnummer) REFERENCES mitarbeiter (personalnummer)); CREATE TRIGGER zeitkonflikte_trigger BEFORE INSERT ON zeitkonflikte REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW Begin select zeitkonflikte_sequence.nextval into :NEW.idZeitkonflikte from DUAL; End;
Dieses SQl-Statement gebe ich dann über TOAD ein und das Programm liefert mir folgendes Problem:
Variable :NEW has been declared as an integer and a non-integer value() has been suplied.Please change either the type or value of the Variable
Kann mir einer weiterhelfen und sagen wie ich das Problem gelöst bekomme?