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 :

[Oracle 9.2.0.7] Comment updater sur des clés de partition ?


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [Oracle 9.2.0.7] Comment updater sur des clés de partition ?
    Bonsoir,

    J'ai un grand besoin d'aide pour trouver une solution de contournement afin de pouvoir effectuer des update sur des clés de partitions avec la version 9.2.0.7 d'Oracle sous Solaris 10 (Il n'est pas possible de faire un update sur les clés de partition avec cette version d'Oracle).

    Pouvez-vous m'aider à choisir la meilleure solution pour réaliser cette fonctionnalité (ceci dans l'optique d'une migration future vers la version 10g) ?

    Exemples de solution ???
    1) - Charger toutes les données dans les classes JAVA
    - Supprimer toutes les données de la base
    - Re-Insérer toutes les données depuis le JAVA

    2) - - Appeler un PL qui permet de faire toutes ces opérations dans la base.

    Merci d'avance pour votre aide !

    Le Nullos des Nullos

  2. #2
    Membre éclairé Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 547
    Points : 670
    Points
    670
    Par défaut
    Je ne pense pas qu'il soit impossible de changer les cles de partition sous 9i:

    Teste sous 9.2.0.1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    ===================================================================
    Create Table with PK
    ===================================================================
     
    Table created.
     
     
    Table altered.
     
     
    PL/SQL procedure successfully completed.
     
     
    Commit complete.
     
    ===================================================================
    Update PK
    ===================================================================
     
    490 rows updated.
     
     
    Commit complete.
     
    ===================================================================
    Clean-up
    ===================================================================
     
    Table dropped.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    PROMPT ===================================================================
    PROMPT Create Table with PK
    PROMPT ===================================================================
    CREATE TABLE my_table
    (id1      INTEGER
    ,id2      INTEGER
    ,col1     VARCHAR2(4000)
    ,PRIMARY KEY
    (id1
    ,id2))
    PARTITION BY RANGE
    (id1)
    (PARTITION my_table_pt_0 VALUES LESS THAN ( 1 ))
    /
    ALTER TABLE my_table
    ENABLE ROW MOVEMENT
    /
     
    DECLARE k INTEGER;
    BEGIN
    k := 0;
    FOR i IN 1..100 LOOP
      EXECUTE IMMEDIATE 
      'ALTER TABLE my_table ADD PARTITION my_table_pt_'||TO_CHAR(i)||' VALUES LESS THAN ('||TO_CHAR(i+1) ||') ';
     
      IF i < 50 THEN
        FOR j in 1..10 LOOP
          INSERT INTO my_table
          (id1,id2,col1)
          VALUES
          (i,j,'X');
        END LOOP;
      END IF;
    END LOOP;
    END;
    /
    COMMIT
    /
    PROMPT ===================================================================
    PROMPT Update PK
    PROMPT ===================================================================
    UPDATE my_table
    SET    id1 = id1 + 10
    /
    COMMIT
    /
    PROMPT ===================================================================
    PROMPT Clean-up
    PROMPT ===================================================================
    DROP TABLE my_table
    /

    PS: Faudrait songer a changer de profil. Celui choisi n'incite pas a beaucoup d'aide.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Est-ce bien grâce à l'option "ENABLE ROW MOVEMENT" que cet UPDATE est possible sur la clé de partition ?

    Merci pour ta réponse et ton aide.

  4. #4
    Membre éclairé Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 547
    Points : 670
    Points
    670
    Par défaut
    Oui, l'option est dispo depuis Oracle8i.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/06/2010, 15h45
  2. Comment cliquer sur des clips générés par actionscript
    Par ar vuzhugenn dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 04/01/2008, 11h02
  3. [Access 2007] update sur des tables / vues SQL server
    Par Flamby38 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/09/2007, 13h56
  4. [VB6] Comment faire un update sur des textbox qui sont créés
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 27
    Dernier message: 16/02/2006, 14h52
  5. [VB6] Comment boucler sur des controls d'un form ?
    Par lankviller dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2003, 16h29

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