Wie du Tabellenzeilen mit Jooq insertInto duplizierst und modifizierst

8

Ich benutze Jooq und versuche, eine nahe Kopie eines Datensatzes innerhalb der gleichen Tabelle zu erzeugen. In diesem Prozess möchte ich den Wert eines Feldes auf einen bekannten Wert aktualisieren. Ich habe mir die Docs & amp; Varianten ausprobieren ohne Glück. Hier ist mein Ansatz, die Tabelle REGISTRATION zu aktualisieren und das Feld 'stage' auf den Wert 6 (wo es 5 war) zu setzen. Also werde ich mit den Originaldaten plus einem doppelten Satz mit nur dem unterschiedlichen Bühnenwert enden. im Pseudocode

%Vor%

Ich habe diesen Code unten versucht und dachte, ich könnte eine ".set (...)" -Methode hinzufügen, um den Wert zu setzen, aber das scheint nicht gültig zu sein.

%Vor%     
wholeroll 11.12.2017, 16:30
quelle

2 Antworten

3

Ich kenne keine Datenbank, die eine INSERT .. SELECT .. SET -Syntax unterstützt, und wenn es eine solche Syntax gibt, ist sie sicherlich nicht mit SQL-Standards kompatibel. Der Weg nach vorne wäre hier zu schreiben:

In SQL:

%Vor%

Im Januar:

%Vor%

Der folgende statische Import ist impliziert:

%Vor%

In jOOQ, dynamisch

Da Sie nach einer dynamischen SQL-Lösung suchen, können Sie Folgendes tun:

%Vor%     
Lukas Eder 12.12.2017, 07:49
quelle
2

Danke Lukas für deine Antwort, die ich eine Version von verwenden werde, wie es nett und allgemein ist. Meine eigene Antwort, die ich gerade bearbeitet habe, ist weniger allgemein, aber könnte eine nützliche Referenz für andere Leute sein, die diesen Weg gehen, besonders wenn sie das Identitätsfeld "id" berücksichtigt, das sonst Probleme verursachen kann.

%Vor%     
wholeroll 12.12.2017 15:20
quelle

Tags und Links