[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