Vinzenz Mai: Datensatz duplizieren

Beitrag lesen

Hallo Markus,

Naja, ums in einen Satz zu packen: Wolltest du vielleicht das folgende sagen?
"Was du vor hast geht nicht"

Nein. Selbstverständlich ist Dein Vorhaben durchführbar, ich schrieb doch nicht umsonst von einer temporären Tabelle. Eine (von mehreren) Möglichkeit wäre z.B:

  • Erstelle eine exklusive Sperre auf Deine Tabelle
  • Erstelle eine temporäre Tabelle als Kopie.
  • Ermittle den höchsten Wert Deiner billing_id
  • Aktualisiere die temporäre Tabelle:
      Erhöhe die billing_id um den Maximalwert
      (ich gehe davon aus, dass die Spalte billing_id nur Werte größer 0 aufweist)
  • Füge mittels INSERT ... SELECT den Inhalt der temporären Tabelle in die
      Ausgangstabelle ein
  • Hebe die Sperre auf
  • Lösche die temporäre Tabelle

Packe diese Schritte in eine Funktion, eine gute Idee wären Tabellenname und Name der Schlüsselspalte als Parameter, CREATE FUNCTION oder so ähnlich.

Rufe später die Funktion nach Belieben auf.

Freundliche Grüße

Vinzenz