Le 14/12/11 16:54, Alexander Thurgood a écrit :

> 
> ALTER TABLE matable ADD COLUMN ts DATETIME NOT NULL DEFAULT
> CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
> 
> Cette commande SQL marche pour MySQL par exemple, par contre, je n'ai
> pas testé 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érieures.

La seule manière de faire cette deuxième partie est expliquée ici :
http://user.services.openoffice.org/en/forum/viewtopic.php?f=13&t=2002

En gros :
- soit tu écris un TRIGGER en Java,
- soit tu utilises OOoBasic via un formulaire. J'aurais cru possible de
créer un listener d'évènement sur une connexion créee par macro, mais
apparemment cela ne marche pas, ou ça n'a pas été testé. Il y a
peut-être aussi un problème potentiel de synchronisation avec le
listener qui doit être asynchrone, et qui du coup ne saura pas gérer des
accès multiples concurrents à la base...mais j'avoue, ça dépasse mes
compétences.


Alex

--
------------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help

Répondre à