Hallo,
ich wollte in einer Tabelle ein Feld "position" einfügen, was mir eine beliebige Sortierung der Einträge ermöglicht.
z.B.
Table Tennismannschaft.
tennis(pos, name, eintritt)
Es gibt nun ein paar Szenarien, in der ein Spieler Positions-mäßig verschoben werden kann.
Fall 1: Ein neuer Spieler kommt an Platz 3 dabei. Die existierende pos 3 inkl. aller nachfolgenden werden nun um 1 erhöht.
Fall 2. Löschung eines Spielers
Fall 3. Verschieben eines Spielers in der Liste
Ich wollte nun ein Trigger dafür schreiben, der mir bei INSERT, UPDATE und DELETE die nötigen Verschiebeungen erledigt.
Hier entsteht bei einem normalen Trigger zwangsläufig das "Mutating table" Problem, also ORA-4091.
Hat hier jemand schon mal was ähnliches realisiert ?
ich wollte in einer Tabelle ein Feld "position" einfügen, was mir eine beliebige Sortierung der Einträge ermöglicht.
z.B.
Table Tennismannschaft.
tennis(pos, name, eintritt)
Es gibt nun ein paar Szenarien, in der ein Spieler Positions-mäßig verschoben werden kann.
Fall 1: Ein neuer Spieler kommt an Platz 3 dabei. Die existierende pos 3 inkl. aller nachfolgenden werden nun um 1 erhöht.
Fall 2. Löschung eines Spielers
Fall 3. Verschieben eines Spielers in der Liste
Ich wollte nun ein Trigger dafür schreiben, der mir bei INSERT, UPDATE und DELETE die nötigen Verschiebeungen erledigt.
Hier entsteht bei einem normalen Trigger zwangsläufig das "Mutating table" Problem, also ORA-4091.
Hat hier jemand schon mal was ähnliches realisiert ?
Comment