Hi,
ich habe eine Tabelle, in der ich den vorhandenen Primärschlüssel löschen möchte und eine neue ID-Spalte zum Primärschlüssel machen möchte. Das mache ich so:
SQL-Code:
CREATE SEQUENCE GEN_KUNDEPREIS_ID; commit;
ALTER TABLE KUNDEPREIS DROP CONSTRAINT PK_KUNDEPREIS; commit;
ALTER TABLE KUNDEPREIS ADD ID INTEGER; commit;
Update KundePreis set ID = (select gen_id(GEN_KUNDEPREIS_ID, 1) from rdb$database); commit;
ALTER TABLE KUNDEPREIS ALTER ID SET NOT NULL; commit;
ALTER TABLE KUNDEPREIS ADD CONSTRAINT PK_KUNDEPREIS PRIMARY KEY (ID); commit; <--- Fehler hier!!!!
Dabei erscheint diese Fehlermeldung:
Zitat:
validation error for column ID, value "*** null ***"
Warum? Es können doch gar keine Datensätze mit null in der ID-Spalte exisiteren, da ich diese Spalte mit dem Generator fortlaufend auffülle. Schaue ich mit dem IBExpert in die Tabelle, sind nach dem Generator-Aufruf auch keine Datensätzt mit Null in der ID zu sehen. Aber tortzdem kann er den PK nicht erstellen. (Auch mit anderen Tabellen besteht das selbe Problem.)