Vermoedelijk, aangezien u geen waarde opgeeft voor de DB_ID
kolom, wordt die waarde ingevuld door een rijniveau vóór de invoegtrigger die in de tabel is gedefinieerd. Die trigger is vermoedelijk het selecteren van de waarde uit een reeks.
Aangezien de gegevens (vermoedelijk recent) uit de productiedatabase zijn verplaatst, zou ik durven wedden dat wanneer de gegevens werden gekopieerd, de volgorde niet ook werd gewijzigd. Ik vermoed dat de reeks waarden genereert die veel lager zijn dan de grootste DB_ID
die momenteel in de tabel staat die tot de fout leidt.
U kunt dit vermoeden bevestigen door naar de trigger te kijken om te bepalen welke reeks wordt gebruikt en door een
SELECT <<sequence name>>.nextval
FROM dual
en dat te vergelijken met
SELECT MAX(db_id)
FROM cmdb_db
Als, zoals ik vermoed, de reeks waarden genereert die al in de database bestaan, kunt u de reeks verhogen totdat deze ongebruikte waarden genereert of u kunt deze wijzigen om de INCREMENT
in te stellen. naar iets heel groots, verkrijg de nextval eenmaal en stel de INCREMENT
. in terug naar 1.