Le 14/10/2012 19:19, Pierre Graber a écrit :
Le 14. 10. 12 18:53, Marc Romano a écrit :
Il me semble que la syntaxe exacte devrait être :
UPDATE Membres, Ajout
SET Membres.IdFiche = Ajout.IdFiche, Membres.MdpFiche = Ajout.MdpFiche
WHERE Membres.IdMembre = Ajout.IdMembre
En cas de noms de champ identiques entre deux tables, l'utilisation du
nom canonique est obligatoire pour lever toute ambiguïté. D'autre part,
lorsqu'on utilise UPDATE dans un contexte multi-tables, on doit déclarer
les tables utilisées après UPDATE, qu'elles soient cibles ou sources de
mise à jour. Ici, l'erreur "table not found" concerne à mon avis la
table Ajout, pas la table Membres.
Sous une base MySQL, la syntaxe que j'indique fonctionne. Je ne sais pas
ce qu'il en est sous HSQL, mais je ne vois pas de raison que ça ne
marche pas.
Cordialement ;
Marc Romano
Merci Marc,
Ta proposition m'a aussi semblé sensée, mais elle aboutit encore à :
«Table not found in statement [UPDATE Membres]»
(c'est moi qui encadre de guillemets).
Cordialement,
Pierre
--
*Pierre Graber*
Enseignant
CH-2022 Bevaix
<http://pcpg.net>
En fait, j'ai l'impression (à confirmer) que le moteur HSQL ne prend pas
en charge l'utilisation d'UPDATE en multi-tables. Je viens de faire une
recherche sur la doc en ligne de ce moteur, les explications données
pour UPDATE ne concernent qu'une utilisation mono-table.
En revanche, il semble qu'il permettrait (sous réserves) l'utilisation
de MERGE, mais outre le fait que ce n'est pas une instruction SQL très
pratique, un petit essai que je viens de faire sur un petit bout de base
monté sous LibO 3.6.1 me renvoie une erreur "unexpected token MERGE", ce
qui semble vouloir dire que le moteur implanté sous LibO ne prévoit pas
cette instruction.
Là, on coince... Il faudrait avoir quelques informations de la part des
développeurs, pour savoir exactement ce qui est implanté comme
fonctionnalités. J'avoue que je n'avais jamais tenté ce genre de mise à
jour sous HSQL, utilisant prioritairement des bases MySQL interfacées
avec LibO.
Désolé de ne pouvoir t'aider sur ce coup-ci. Je vais chercher une
solution de contournement, mais sans promesse de résultat !
Cordialement ;
Marc
--
Envoyez un mail à users+help@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
supprimés
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.