Fil d’Ariane du forum – Vous êtes ici :ForumForums techniques: AS/400Nouveauté SQL en V7R3 - Traces au …
Vous devez vous identifier pour créer des messages et des sujets.

Nouveauté SQL en V7R3 - Traces automatiques

Bonjour,


IT_CHANGE_TYPE CHAR(1) GENERATED ALWAYS AS (DATA CHANGE OPERATION)
IT_CHANGE_USER VARCHAR(128) GENERATED ALWAYS AS (SESSION_USER)
IT_CHANGE_JOBNAME VARCHAR(28) GENERATED ALWAYS AS (JOB_NAME)

START_TS  TIMESTAMP(12) NOT NULL GENERATED ALWAYS AS ROW BEGIN
END_TS    TIMESTAMP(12) NOT NULL GENERATED ALWAYS AS ROW END

Cela me permet d'obtenir le mode de modification de l'enregistrement DATA CHANGE OPERATION

Je récupère aussi le user SESSION_USER

Ainsi que le job JOB_NAME

Pour les traces en horodatage, j'ai tenté d'utiliser ROW BEGIN qui donne la date ISO de modification de l'enregistrement. ça fonctionne bien.

Par contre, je ne comprend pas l'utilisation de ROW END

De plus, il me manquerait la date de création de l'enregistrement.

 

Avez-vous tenter ce genre d'ajout SQL  ?

 

Merci de votre aide

FRED

 

 

 

Bonjour,

le GENERATED ALWAYS AS ROW END ne donne aucune information dans la table principale, mais dans la table historique liée par ALTER TABLE ADD VERSIONING il est renseigné et indique l'horodatage de fin de l'enregistrement, et dans cette table l'horodatage ROW BEGIN d'enregistrement avec DATA CHANGE OPERATION est à 'I' est la date de création.

Mais il faut garder à l'esprit que si les enregistrements de la table historique ne peuvent pas être modifiés (à moins d'un DROP VERSIONING) il peuvent être  supprimés