Insertion de donnees dans une table à partir de données de la même table

cs_Mynie Messages postés 2 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 20 février 2009 - 19 févr. 2009 à 13:55
cs_Mynie Messages postés 2 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 20 février 2009 - 20 févr. 2009 à 12:28
Bonjour !

Bloquée depuis des heures sur le problème suivant :

J'ai dans ma table 1 une série d'enregistrement que je dois dupliquer dans la même table mais avec un nouvel id.
J'ai dedans des "objets" anciens mais encore utilisés et je dois recreer de nouveaux à partir des vieux avec des variations.
Ces objets de ma table 1 avec id 1 sont liés à une table 2 qui contient id 1 et  un identifiant d'une table 3, id 3 (qui ne stocke que cet identifiant auto incrémenté et un flag ?!). Table2 est liéée avec table 4, qui contient l'identifiant 3, et un autre identifiant qui me renvoie vers les contenus de mes objets (relation que je dois aussi garder sur mes nouveaux objets)
Relations : table 1<=>2 :1,1 
                 table 3<=>2 : 1,1 
                 table 2 =>4 :1,n
J'arrive à faire l'insertion dont j'ai besoin dans table 1, mais impossible de garder la relation entre les nouveaux id qui se créent et les anciens. 
J'ai créé une table de travail dans laquelle j'ai lié toutes les données tables 1,2,3 et où j'ai les anciennes valeurs d'id.

Mais rien à faire, je n'arrive pas à trouver comment garder la liaison entre ancien id et nouvel id pour garder dans la table 4 la bonne correspondance entre les objets et leur contenu.
Aussi, AU SECOURS! J'ai besoin de toute l'aide que vous pourrez m'apporter, je ne suis pas une experte SQL et je connais tout juste Sybase...

Merci!<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" coordsize="21600,21600" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75"> <v:shapetype id="_x0000_t75" coordsize="21600,21600" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
20 févr. 2009 à 12:12
Salut,

Je ne comprends pas trop le probleme et le pourquoi.
Mais avec une procedure stockée et un curseur
ce cas peut normalement être réglé.
0
cs_Mynie Messages postés 2 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 20 février 2009
20 févr. 2009 à 12:28
En effet, c'est bien mon souci : je ne suis pas une grande experte SQL, l'idée curseur /procedure stockée me paraissait un peu lourde. Tu me confirme donc que c'est la seule méthode pour arriver à garder le lien entre mes anciennes données et les nouvelles que j'insère à partir de ces dérnières.
Je me lance...

Merci!
0
Rejoignez-nous