[SQL] Comment faire un Update avec des references ???????

Comment faire un Update avec des references ??????? [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 26-08-2003 à 16:35:43    

:hello:
 
J'ai un souci de "Comment bien faire en SQL" mais je suis sur que vous allez pouvoir m'eclairer..
:D
 
 
Je suis en train de dvlp le module Oracle d'un logiciel..
(je viens d'arriver sur le projet, je n'ai pas participé à la conception du schéma BDD ni au dvlpement logiciel)
Ce logiciel gère (en autre) les caractéristiques de moteurs..
 
J'ai donc :

Code :
  1. TABLE simulation
  2. id_simulation (PK)
  3. nom
  4. id_moteur (clé etrangère référence à la PK du moteur associé)
  5. ...


 

Code :
  1. TABLE Moteur
  2. id_moteur (PK)
  3. nom
  4. ...


 

Code :
  1. et une Table RegimeMoteur
  2. TABLE RegimeMoteur
  3. id_regimemoteur (PK)
  4. id_moteur (clé etrangère référence à la PK du moteur associé)
  5. x
  6. y
  7. ...


 
Ce logiciel permet d'ajouter/supprimer/modifier les différents régime moteurs d'un moteur..
Mais le logiciel est concu de tel facon que on ne peut enregistrer directement les régimes moteurs, on ne peut qu'enregistrer un moteur (ses ses regime moteurs)...
 
Et C là que je bloque, je ne vois pas comment Updater un moteur (et ses regimesMoteurs) de la facon la plus simple ????
 
 
Exemple :
J'edite le nom du moteur, je modifie la ligne 1 du régime moteur associé et je supprime la 3ème ligne sur les 5 que le moteur comporte...
En mémoire (d'un point de vue Java), j'ai donc ma Structure Moteur qui contient une liste des regimes moteurs (au nombre de 4 maintenant)
 
J'enregistre le moteur
 
A ce moment là, je souhaite donc faire un update du moteur (et de ses caractéristiques)...
 
 
<> Au début, je pensais simplement faire un update sur la table moteur et pour chaque regime moteur, faire un update dessus..
Mais la ligne supprimée sera toujours présente en BDD et toujours associé à ce moteur  
=> pas possible donc...
 
<> Je me suis dit que j'allais simulé un Update..
Faire un  
DeleteMoteur (qui supprime en cascade les regimes moteurs)
Puis un InsertMoteur (avec insertion des differents moteurs regime)
Mais Pbr car le moteur est aussi referencé dans la simulation par son ID
=> pas possible donc..
 
<> Je suis en train de faire..
updateMoteur()
deleteRegimeMoteurPourCeMoteur()
InsertRegimeMoteurPourCeMoteur()
=> ca marchera mais je trouve que C un peu l'usine a gaz...
 
 
 
Je desespere de comprends vraiment quelle est la meilleur méthode..
Quelqu'un peut m'aider ???
(j'espere que j'ai reussi a faire comprendre mon probleme..)
 
 
Merciiiiiiii
:jap:


Message édité par Dephi le 26-08-2003 à 16:36:44

---------------

Reply

Marsh Posté le 26-08-2003 à 16:35:43   

Reply

Marsh Posté le 26-08-2003 à 16:58:56    

Salut, pour mieux comprendre ton pb :
 
Ta table moteur comprend un champ nb_regimemoteur ?
 
pourquoi dans ton exemple tu update la 1ere ligne et donc tu suprime la 4eme (de regime moteur) ?
 
C'est toujours comme ca ?
 
je pense que l'on comprendrait mieux si tu nous donnais les champs de moteur :) car a priori je ne vois pas ou il pourrait y avoir un pb :(
et un exemple plus pratique
 
(enfin je comprendrais mieux le pb :) )
 
Car pour ce que je comprend, je ne voit pas l'interet de modifier la table moteur.
 
jokos

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed