Entwickler-Ecke
Alle Sprachen - Alle Plattformen - Was bedeutet Firebird-Prozedur-Fehlermeldung
erfahrener Neuling - Di 31.05.16 10:58
Titel: Was bedeutet Firebird-Prozedur-Fehlermeldung
Hallo,
ich schreibe momentan eine Prozedur für eine Firebird-Datenbank. Dabei hole ich Werte aus 1 Tabelle, schreib einen Teil davon in eine 2. Tabelle und den anderen Teil als Eingangsparameter in eine andere Prozedur. Dabei bekomme ich folgende Fehlermeldung:
Zitat: |
attempt to store duplicate value (visible to active transactions) in unique index "MirNichtBekannteVariable"
Problematic key value is ("ArtikelNr" = ...) |
Was für eine Art von Problem ist das? Hat ArtikelNr vielleicht das falsche Format? (kenne das von "MirNichtBekannteVariable" nicht)
Wie gehe ich da am besten ran?
Gruß Julian
PS: wenn ihr Quelltext braucht, könnt ihr kriegen!
doublecross - Di 31.05.16 11:12
Es liest sich für mich so, als wolltest du eine "ArtikelNr" doppelt vergeben. Das ist nicht erlaubt, da das Feld dein Schlüssel ist und der muss eindeutig sein.
Sprich dein Query hat eine Artikel Nummer ergeben, die es in Tabelle 2 Schon gibt und du versuchst sie per INSERT erneut hinzuzufügen, in dem Fall muss du aber entweder den Datensatz auslassen, da es ihn schon gibt oder per UPDATE eine Änderung des bereits bestehenden Datensatzes durchführen. Auch ein Löschen des alten Eintrages vor dem INSERT wäre denkbar.
Nersgatt - Di 31.05.16 11:24
Das "MirNichtBekannteVariable" ist der Name des Uniquer-Indexes, der verletzt wird. Ich würde mir diesen Index mal in der Datenbank anschauen.
erfahrener Neuling - Di 31.05.16 11:30
@doublecross
Ich hab deinen Rat mal befolgt, und die betroffenen Felder in Tabelle 2 auf null gesetzt und dann ging es (Ist ja auch logisch, das es nicht mehrere gleiche ArtikelNr geben soll).
doublecross - Di 31.05.16 11:35
Hi,
erfahrener Neuling hat folgendes geschrieben : |
@doublecross
Ich hab deinen Rat mal befolgt, und die betroffenen Felder in Tabelle 2 auf null gesetzt und dann ging es (Ist ja auch logisch, das es nicht mehrere gleiche ArtikelNr geben soll). |
verstehe ich nicht ganz, was hast du auf null gestellt? Oder schreibst du die Artikelnummer nur einfach nicht neu weg? Wie Identifizierst du dann den betroffenen Datansatz?
erfahrener Neuling - Di 31.05.16 12:06
Nein, eigentlich will ich komplett neue Sätze in Tabelle 2 erstellen, hatte aber noch alte Test-Daten mit den Artikelnummern. Und die hab ich gelöscht
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!