Volubis, le forum IBM i Index du Forum Volubis, le forum IBM i
avec les clubs Informatiques IPL et Bretagne.
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

DB2 - Ajout de colonnes Timestamp autonome

 
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> langages
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
N1kos



Inscrit le: 08 Fév 2013
Messages: 34

MessagePosté le: Ven 08 Fév 2019, 16:45:29    Sujet du message: DB2 - Ajout de colonnes Timestamp autonome Répondre en citant

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:

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
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
nbonnet



Inscrit le: 11 Sep 2018
Messages: 15
Localisation: Lyon

MessagePosté le: Ven 08 Fév 2019, 18:53:23    Sujet du message: (sans sujet) Répondre en citant

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
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
N1kos



Inscrit le: 08 Fév 2013
Messages: 34

MessagePosté le: Lun 11 Fév 2019, 11:06:46    Sujet du message: (sans sujet) Répondre en citant

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:
update MATABLE SYSTEM VALUE set H_UPD = '0001-01-01'  ;


Merci pour l'information, la clause "overriding system value" m'était totalement inconnue.
_________________
N1kos
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> langages Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Anti Bot Question MOD - phpBB MOD against Spam Bots