DB2 - Ajout de colonnes Timestamp autonome

RPG (3 et 4, free), CL, SQL, etc...
Répondre
N1kos
Messages : 34
Enregistré le : ven. 08 févr. 2013, 09:41:45

DB2 - Ajout de colonnes Timestamp autonome

Message par N1kos »

Bonjour,
Je souhaite créer 2 nouvelles colonnes dans une table existante de type timestamp.
La 1ère contient l'horodatage de la ligne au moment de l'insert.
La 2nde contient l'horodatage de la ligne au moment de l'update.

Code : Tout sélectionner

ALTER TABLE MATABLE
    ADD COLUMN H_INS TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL NOT HIDDEN
    ADD COLUMN H_UPD TIMESTAMP(6) FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP NOT NULL NOT HIDDEN;
Je souhaite initialisé les valeurs des 2 colonnes à '0001-01-01' mais impossible pour ma colonne H_UPD.

Si vous avez une solution ?
N1kos

nbonnet
Messages : 198
Enregistré le : mar. 11 sept. 2018, 08:20:13
Localisation : Lyon

(sans sujet)

Message par nbonnet »

Bonjour,

Le but est de faire un insert avec H_UPD = '0001-01-01' ?
Le système mettra l'horodatage en cours au moment de l'insert. Si l'on veut mettre une autre valeur, il faut indiquer la clause 'overriding system value' à l'insert ou à l'update.

Sinon, faire un trigger, mais pas très recommandé pour des questions de performance dans ce cas.
Nathanaël

N1kos
Messages : 34
Enregistré le : ven. 08 févr. 2013, 09:41:45

(sans sujet)

Message par N1kos »

Bonjour,

En effet mon but était bien de forcer la valeur H_UPD = '0001-01-01' pour les lignes avant la mise en place des nouvelles colonnes.

Via la script ci-dessous, ça fonctionne parfaitement:

Code : Tout sélectionner

update MATABLE SYSTEM VALUE set H_UPD = '0001-01-01'  ;
Merci pour l'information, la clause "overriding system value" m'était totalement inconnue.
N1kos

Répondre