Ich muss durch eine Datenbank gehen und ändern sie nach einer Logik. Das Problem sieht in etwa so aus. Ich habe eine Geschichte Tabelle in meiner Datenbank und ich muss ändern. Bevor ich etwas ändere, muss ich schauen, ob ein Objekt (das mehrere Zeilen in der History-Tabelle hat) einen bestimmten Zustand hat, zB 4 oder 9. Wenn es den Status 4 oder 9 hatte, muss ich die Zeilen zwischen den aktuell gefundenen überprüfen Reihe und der nächste Zustand 4 oder 9 Reihe. Wenn eine solche Zeile (zwischen diesen Zuständen) einen bestimmten Wert in einer bestimmten Spalte hat, mache ich etwas in der nächsten Zeile. Ich hoffe, das ist einfach genug, um Ihnen eine Idee zu geben. Ich muss diese Überprüfung für alle Objekte durchführen. Denken Sie daran, dass jedes Objekt überall in seinem Lebenszyklus verändert werden kann (natürlich bis es einen Endzustand erreicht).Erweiterte Datenbank Änderung "Skript" - wie es geht
Ich verwende einen SQL Server 2005 und Hibernate. AFAIK Ich kann Transact SQL nicht so kompliziert überprüfen! Was würdest du mir empfehlen? Bisher habe ich darüber nachgedacht, es als JUnit-Test zu machen. Dies hätte den Vorteil, dass Hibernate mir hilft, die Änderungen vorzunehmen, und ich würde Java für Listen und andere Datenstrukturen haben, die ich vielleicht brauche und die in SQL nicht existieren. Wenn ich es als JUnit-Test mache, verliere ich meine Mapping-Dateien nicht! Ich bin gespannt, welche Ansätze würden Sie verwenden?
Kann ich Listen in SQL haben. Ich meine etwas, in dem ich meine Objekt-IDs zum Beispiel speichern kann? – Atticus
Es gibt keine Listendatenstruktur in SQL, zumindest weiß ich es nicht, aber Sie können temporäre Tabellen erstellen, um die Datenliste zu speichern, sie zu bearbeiten und dann die temporären Tabellen zu löschen. – limc
Ja, das ist eine gute Idee. Vielen Dank! – Atticus