IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Utiliser rownum comme clé de mise à jour


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut Utiliser rownum comme clé de mise à jour
    Bonjour,

    Je dois exporter des libelles de liste de données pour taduction. Ces listes (tables) ont pour certaines une clé primaire et une clé étrangère.

    Je dois exporter l'ensemble des lignes de ces listes.

    Je me pose alors la question du ré-import de la taduction.

    Mes listes sont structurées un peu comme :
    Clé Primaire | Clé Etrangère | Libelle FR | Libelle EN | Statut ......

    Je me demandais si je pouvais utiliser le Rownum (N° de ligne ) comme clé pour mes mises à jour ?

    Etre sur que si je fais un export via un select comme :

    Select rownum,
    Libelle FR,
    Libelle EN
    .....

    -> renvoi : 1 | blabla 1 en Fr | blabla 1 en EN
    ....
    X | blabla X en Fr | blabla X en EN

    Puis un update comme :
    Update set ma table Libelle EN = blabla X en EN Where rownum = X

    cela mettra bien à jour la même ligne X que celle renvoyé par le select.

    Merci de votre aide.

  2. #2
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    Bonjour,

    Je viens de trouver ROWID. Il semblerai que cela soit l'Id de la ligne dans la table ?

    Cet ID est il toujours invariant ? C'est à dire qu'une ligne aura t'elle toujours le même ID ?

    Merci

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Le rowid est un pointer. Ni le Rownum ni le RowId ne peuvent pas remplacer la clé primaire dans un export/import.

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    le ROWID c'est l'adresse du bloc sur le disque et évidemment tu ne peux pas avoir le même quand tu réimportes tes données. Quand au ROWNUM c'est un numéro d'ordre d'affichage, rien à voir donc.

    Seule la PK peux servir ce qui c'est pas un problème puisqu'elle est indexée

  5. #5
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    Je viens de faire un test qui confirme tes dire. Le RowID pour la même table qu'elle soit en dev ou en prod est different pour la même ligne.

    Donc je n'ai pas le choix.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/01/2012, 21h11
  2. Réponses: 7
    Dernier message: 15/01/2007, 18h18
  3. Réponses: 4
    Dernier message: 02/05/2006, 12h08
  4. [...] doit utiliser une requête qui peut être mise à jour
    Par requiemforadream dans le forum ASP
    Réponses: 4
    Dernier message: 26/04/2005, 09h12
  5. Utilisation de CASCADE pour mise à jour
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/08/2004, 08h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo