sophie316
Messages postés20Date d'inscriptionjeudi 29 décembre 2005StatutMembreDernière intervention27 août 2009
-
26 août 2009 à 17:10
sophie316
Messages postés20Date d'inscriptionjeudi 29 décembre 2005StatutMembreDernière intervention27 août 2009
-
27 août 2009 à 15:22
Bonjour,
Est-ce qu'il existe l'équivalent du rowid de Oracle pour SQL Server ?
sophie316
Messages postés20Date d'inscriptionjeudi 29 décembre 2005StatutMembreDernière intervention27 août 2009 27 août 2009 à 14:48
En fait, j'ai 3 applications:
- une où sont créer, modifier et supprimer des jours de congés pour le personnel
- une qui sert à la facturation où les jours de congés de la première application sont en lecture seule
- ces 2 applications n'utilisent pas la même base, la 3ème application sert donc à synchroniser les 2 bases. Les enregistrements de congés de la 1ère sont déversés dans la 2ème.
Le problème c'est que si un enregistrement déjà déversé est modifié dans la 1ère base sa clé primaire (composée de plusieurs champs) est affectée et au déversement la correspondance n'est pas faite entre les engistrements et celui qui a été modifié est ajouté une 2ème fois dans la base de consultation.
Mon idée était donc de récupérer un ROWID de la première base (qui est sur SQL server) et de m'en servir d'identifiant unique qui serait enregistrer dans la 2ème base.
Voilà j'espère que ce n'est pas trop compliqué.
nivsql
Messages postés159Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention14 décembre 20101 27 août 2009 à 14:59
non j'ai bien compris, mais tu es face la a un probleme majeur de conception ... Une clé primaire doit etre pérenne. Le fait qu'elle puisse changer de maniere a ce qu'on ne puisse plus a lié a sa FK est totalement abhérant et sort des normes du modele relationnel. Bref avoir choisi une clé primaire juste parcequ'elle representait l'unicité sans avoir pris en compte la possibilité de changement de cette clé est un défaut majeur de conception. D'ailleur si tu avais des vrais lien PK-FK entre tes bases/table la modification de la PK serait interdite par le moteur SQL.
Si tu n'a pas moyen de modifier les tables et le code des apply ca vas etre tres compliqué (voir meme impossible) de resoudre ton probleme. Sinon tu peux toujours transformer ta clé primaire en index unique et rajouter une colonne IDENTITY pour avoir une vraie PK qui te permettra d'avoir un lien stable.