[fr-users] Re: Base : Date de dernière modif ication.
Alexander Thurgood <[email protected]> Wed, 14 Dec 2011 18:17:59 +0100
| Newsgroups | gmane.comp.openoffice.general.french |
|---|---|
| Message-ID | <[email protected]> |
Le 14/12/11 16:54, Alexander Thurgood a =E9crit : >=20 > ALTER TABLE matable ADD COLUMN ts DATETIME NOT NULL DEFAULT > CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP >=20 > Cette commande SQL marche pour MySQL par exemple, par contre, je n'ai > pas test=E9 avec le moteur HSQLDB. En fait, pour MySQL, il faut substituer DATETIME pour TIMESTAMP. Pour HSQLDB, il n'accepte pas de contraintes sur le champ ts, donc tu ne peux pas lui dire de faire ON UPDATE SET DEFAULT ou ON UPDATE SET CURRENT_TIMESTAMP. Du coup, tu peux avoir un champ ts timestamp rempli lors de la creation d'une nouveau tuple, mais qui ne se changera pas par la suite lors de modifications ult=E9rieures. La seule mani=E8re de faire cette deuxi=E8me partie est expliqu=E9e ici : http://user.services.openoffice.org/en/forum/viewtopic.php?f=3D13&t=3D200= 2 En gros : - soit tu =E9cris un TRIGGER en Java, - soit tu utilises OOoBasic via un formulaire. J'aurais cru possible de cr=E9er un listener d'=E9v=E8nement sur une connexion cr=E9ee par macro, = mais apparemment cela ne marche pas, ou =E7a n'a pas =E9t=E9 test=E9. Il y a peut-=EAtre aussi un probl=E8me potentiel de synchronisation avec le listener qui doit =EAtre asynchrone, et qui du coup ne saura pas g=E9rer = des acc=E8s multiples concurrents =E0 la base...mais j'avoue, =E7a d=E9passe = mes comp=E9tences. Alex -- ------------------------------------------------------------------------ To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] with Subject: he= lp