Equivalent du rowid de Oracle pour SQL Server

sophie316 Messages postés 20 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 27 août 2009 - 26 août 2009 à 17:10
sophie316 Messages postés 20 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 27 août 2009 - 27 août 2009 à 15:22
Bonjour,

Est-ce qu'il existe l'équivalent du rowid de Oracle pour SQL Server ?

Merci pour vos réponses
A voir également:

4 réponses

nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
27 août 2009 à 11:31
Pas a ma connaissance en tout cas.

Cela dis tu n'es pas sensé en avoir besoin, quel est ton probleme ?
0
sophie316 Messages postés 20 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 27 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é.
0
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
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.
0
sophie316 Messages postés 20 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 27 août 2009
27 août 2009 à 15:22
Rien n'est modifiable dans la première base sur SQL server donc je ne pense pas avoir de solution.

Merci quand même pour ton aide.
0
Rejoignez-nous