Dies ist die Abfrage, die ich ausführen versuche:Mit Rohwert-Ausdrücke in UPDATE mit jOOQ
UPDATE TABLE users SET metadata = metadata - 'keyA' - 'keyB'
WHERE <condition>;
Hier metadata
vom Typ jsonb
und der -
Operator entfernt einen Schlüssel aus dem Objekt JSON. Allerdings, wenn ich dies in jOOQ tun:
this.ctx.update(Tables.USERS)
.set(Tables.USERS.METADATA, "metadata-'keyA'-'keyB'")
.where(<condition>)
.execute();
ich eine Fehlermeldung, dass die value
ist ein CHARACTER VARYING
und nicht JSONB
, die ich raten bin, ist, weil die Abfrage mit einem bind Wert erstellt wird, und dann ganz string versucht, eingefügt zu werden und nicht als Ausdruck.
Wie führe ich diesen Wertausdruck in jooq aus?