Wenn Du beim Insert nur den aktuellen Benutzer und die aktuelle Zeitmarke haben willst, genügt beim Erstellen für die entsprechenden Felder die Default-Werte USER (Spalte muss mind. VarChar(18) angelegt werden) bzw Current_Timestamp anzugeben.
Beim Insert werden dann diese Felder nicht oder mit dem Platzhalter DEFAULT übergeben.Code:Create table YourSchema.MyTable (MyInt Integer Not NULL Default 0, MyChar VarChar(20) Not NULL Default '', MyTS Timestamp Not NULL Default Current_Timestamp, MyUser VarChar(18) Not NULL Default User );
Wenn Du die Werte nicht nur beim Insert gesetzt haben willst, gibt es für Zeitmarken-Spalten bereits seit Release 6.1 die Erweiterung:Code:Insert into mytable (myInt, myChar) Values(3, 'CCC'); Insert into MyTable Values(1, 'ABC', Default, Default);
Generated Always For Each Row on Update as Row Change Timestamp
Für alphanumerische Spalten, kann seit Release 7.3 mit der Erweiterung Generated Always as (Session_User) der aktuelle Benutzer bei Insert und Update gesetzt werden.
Neben dem Benutzer können noch eine ganze Reihe von Special Registers und System Globale Variablen bei der Spalten Definition mit Generated Always gesetzt werden.
BirgittaCode:Create Table qtemp.MYTABLE (MYINT Integer Not Null Default 0, MYCHAR Varchar(50) Not Null Default '', MYTS Timestamp Not NULL Generated Always For Each Row On Update as Row Change Timestamp, MYUSER Varchar(128) Not NULL Generated Always As (Session_User) );
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks