Hello,
Je crois que j'ai le cerveau grillé car ce problème m'a l'air d'être quelque chose d'assez courant à faire et pourtant, je sèche totalement...
J'ai les tables suivantes :
J'ai aussi, tiré d'une vieille DB (pas forcément normalisée), un historique, qui a été importé dans une table "temporaire" (c'est une vraie table mais elle sera supprimée dès l'importation dans les tables définitives réussie), avec lequel je voudrais peupler les tables dont les suffixes sont CRD, OCN et EMC.
Un peu d'explication...
Il s'agit d'une DB dont le but est de gérer des numéros de cartes de membre du personnel. La table terminant par EMP contient la liste du personnel actif et pensionné mais cette liste ne remonte que jusqu'à l'époque où nous avons changé de secrétariat social il y a 3 ans. Par contre, la vieille DB dont je tire l'historique n'était liée à rien. Du coup, j'ai TOUT dedans. La table OEM est donc là pour ça mais je ne m'en occupe pas pour le moment. Dans un premier temps, je veux uniquement peupler les tables avec le personnel actif.
Dans la table CRD, la colonne CRD_NUMBER est une colonne calculée qui donne le numéro de série de la carte. Pour les nouvelles cartes qui seront créées, c'est ce numéro calculé qui sera utilisé. Pour les anciennes, c'est celui de la table OCN qui reste valide. Toujours dans la table CRD, la colonne CRD_YEAR donne l'année de création de la carte.
Là où je sèche...
Je suis conscient que je pourrais créer un curseur et itérer sur les lignes de la table temporaire dont je parle plus haut pour créer, une à une, les lignes dans les autres tables.
Le souci c'est que j'aime les choses bien faite et que je cherche à travailler de manière ensembliste (comme il faudrait toujours le faire avec le t-sql).
Et je ne parviens pas à, lors de l'insertion dans la table T_CARD_CRD, produire un output qui me permet de relier chaque ligne insérée à la ligne correspondante de l'historique de manière à pouvoir faire les insertions correctes dans les autres tables.
Je suis pourtant persuadé que c'est plus ou moins trivial mais je dois avoir le cerveau grillé... Ca fait 2 jours que je sèche dessus.
Help please.
Merci d'avance à ceux qui auront pris la peine de lire ce message.
Partager