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

Oracle Discussion :

migration mssql->Oracle 11g: probleme sequence


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut migration mssql->Oracle 11g: probleme sequence
    Bonjour,

    Je tente actuellement de faire migrer une base de donnée MSSQL sous Oracle 11g et j'ai un probleme concernant la gestion de mes champs Identity sous MSsql.
    Je m'explique : lors de la migration, tous les champs de type identity de ma base de depart vont migrer. Par contre, lorque je voudrai inserer des nouvelles informations dans mes tables sour Oracle, le type Identity n'existant pas, c'est les sequences qui devront prendre le relai. Seulement:
    - les sequences ne peuvent être initialiser qu'à 1.
    - en supposant même qu'il ait un moyen de les initialiser à une autre valeur (ce que j'espere!), le champs de type identity ne s'incremente pas de facon reguliere (de 1 en 1 par exemple), d'où certains trou observer dans mes tables sqlserver que ne detectera ma sequence.

    Bref, je ne sais plus quoi faire....
    Merci d'avance pour votre aide

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    - les sequences ne peuvent être initialiser qu'à 1.
    Ben non.. avec start with, tu peux commencer où tu veux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE SEQUENCE S_NOLOT
      START WITH 102744
      MAXVALUE 99999999
      MINVALUE 1
      CYCLE  CACHE 20 NOORDER;
    Je n'ai pas compris ta seconde question.
    Les séquences non plus ne garantissent pas une suite sans trous, elles garantissent juste l'unicité.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut Des séquences et des trous
    Salut,

    Vous pouvez également modifier la prochaine valeur d'une séquence en 3 temps :
    - Modification de l'incrément à la valeur voulue,
    - Appel de la séquence . nextval,
    - Rétablissement de l'incrément à 1.

    Exemple pour passer de 15 à 50 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    alter sequence MA_SEQ increment 34 nocache;
    select MA_SEQ.nextval from dual;
    alter sequence MA_SEQ increment by 1 cache 20;
    L'utilisation des séquences Oracle génère des trous. Pour générer des séquences sans trous on peut monter un mécanisme avec une table et du PlSql.

    Pour ce qui est de la "détection des trous" existants là encore une solution est de créer les enregistrements par PlSql en prenant le temps de parcourir la table à la recherche d'un trou à combler dans les identifiants.



    Pozzo

Discussions similaires

  1. Migration de PostgreSQL vers Oracle 11g
    Par naou18 dans le forum Administration
    Réponses: 3
    Dernier message: 01/06/2011, 13h00
  2. Migration d'oracle 8i en oracle 11g
    Par fanah dans le forum Installation
    Réponses: 3
    Dernier message: 29/04/2010, 12h35
  3. Problem d'instalation de oracle 11g sous windows 7
    Par dabdob dans le forum Installation
    Réponses: 0
    Dernier message: 13/03/2010, 17h22
  4. Probleme de Syntaxe? oracle 11g
    Par Mad_Max_ dans le forum Oracle
    Réponses: 1
    Dernier message: 18/02/2010, 14h00
  5. probleme avec displey_row oracle 11g
    Par miloon dans le forum Débuter
    Réponses: 3
    Dernier message: 26/05/2009, 16h46

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