DB2: Wie man immer als statement generiert wird, um mit dem sessionsbenutzer zu arbeiten

Ich brauche einen Userstamp in eine Tabelle und konnte nicht herausfinden, wie die statement GENERATED FOR JEAU ROW ON UPDATE AS mit der Variable SESSION_USER in DB2 10.5 (LUW) funktioniert.

Wird verwaltet, damit eine Implementierung mit einer function funktioniert, die eine falsche Variable zum Erzwingen der Auswertung in Aktualisierungsanweisungen enthält:

CREATE OR REPLACE FUNCTION XXX.CURRENT_USER( tmp varchar(128)) SPECIFIC xxx.XXX_CURRENT_USER RETURNS VARCHAR(128) CONTAINS SQL DETERMINISTIC NO EXTERNAL ACTION BEGIN RETURN session_user ; END GO CREATE TABLE xxx ( i INTEGER, t VARCHAR(128) GENERATED ALWAYS AS (XXX.CURRENT_USER(i)) ) 

Allerdings wäre schön, weniger "Hacky" Implementierung für eine grundlegende Sache wie folgt zu haben.

Für die timestempel gibt es die statement "FÜR JEDE REIHE AUF AKTUALISIERUNG ALS ZEILE ÄNDERUNG TIMESTAMP", aber es scheint kein Äquivalent für andere Registervariablen zu sein.

Hilfe wird sehr geschätzt

Solutions Collecting From Web of "DB2: Wie man immer als statement generiert wird, um mit dem sessionsbenutzer zu arbeiten"

functioniert das?

 CREATE TABLE xxx ( i INTEGER, t VARCHAR(128) WITH DEFAULT session_user ); 

Ich habe DB2 nicht zur Hand, um es zu überprüfen, aber das ist der Syntax sehr ähnlich, die in anderen databaseen verwendet wird (obwohl die typische Syntax WITH nicht verwendet).