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 :

[Sql] Rowid


Sujet :

Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Par défaut [Sql] Rowid
    Bonjour,

    j'ai une requête toute simple qui devrait me permettre de modifier 2 valeurs dans une table avec la fonction "Rowid" mais les 2 erreurs suivante apparaissent lorsque je valide cette modification.

    1. ORA-01410 invalid Rowid
    2.Dataset/ ORA -0140 ROWID

    Voici la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT
    D.DOC_DOCUMENT_ID,
    D.DMT_NUMBER,
    F.ROWID,
    F.FRD_BOOLEAN_1,
    F.FRD_BOOLEAN_2
    FROM
    DOC_DOCUMENT D,
    DOC_FREE_DATA F
    WHERE
    D.DOC_DOCUMENT_ID=F.DOC_DOCUMENT_ID AND
    D.DOC_DOCUMENT_ID=:DOC_DOCUMENT_ID
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    DOC_FREE_DATA est bien une table standard ? (et non pas une IOT)
    peut-on en voir le script de création ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Par défaut
    Oui
    DOC_FREE_DATA est bien une table standard

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    super, le script de création...

    Etes-vous sûr que c'est cet ordre select qui provoque l'erreur ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Par défaut
    Citation Envoyé par SheikYerbouti
    super, le script de création...

    Etes-vous sûr que c'est cet ordre select qui provoque l'erreur ?
    Il me semble oui...
    voici le script de création:
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    CREATE TABLE DOC_FREE_DATA
    (
      DOC_FREE_DATA_ID         NUMBER(12)           NOT NULL,
      DOC_DOCUMENT_ID          NUMBER(12)           NOT NULL,
      DIC_DOC_FREE_TABLE_1_ID  VARCHAR2(10 BYTE),
      DIC_DOC_FREE_TABLE_2_ID  VARCHAR2(10 BYTE),
      DIC_DOC_FREE_TABLE_3_ID  VARCHAR2(10 BYTE),
      DIC_DOC_FREE_TABLE_4_ID  VARCHAR2(10 BYTE),
      DIC_DOC_FREE_TABLE_5_ID  VARCHAR2(10 BYTE),
      FRD_ALPHA_SHORT_1        VARCHAR2(30 BYTE),
      FRD_ALPHA_SHORT_2        VARCHAR2(30 BYTE),
      FRD_ALPHA_SHORT_3        VARCHAR2(30 BYTE),
      FRD_ALPHA_SHORT_4        VARCHAR2(30 BYTE),
      FRD_ALPHA_SHORT_5        VARCHAR2(30 BYTE),
      FRD_ALPHA_LONG_1         VARCHAR2(4000 BYTE),
      FRD_ALPHA_LONG_2         VARCHAR2(4000 BYTE),
      FRD_ALPHA_LONG_3         VARCHAR2(4000 BYTE),
      FRD_ALPHA_LONG_4         VARCHAR2(4000 BYTE),
      FRD_ALPHA_LONG_5         VARCHAR2(4000 BYTE),
      FRD_INTEGER_1            NUMBER(9),
      FRD_INTEGER_2            NUMBER(9),
      FRD_INTEGER_3            NUMBER(9),
      FRD_INTEGER_4            NUMBER(9),
      FRD_INTEGER_5            NUMBER(9),
      FRD_DECIMAL_1            NUMBER(15,4),
      FRD_DECIMAL_2            NUMBER(15,4),
      FRD_DECIMAL_3            NUMBER(15,4),
      FRD_DECIMAL_4            NUMBER(15,4),
      FRD_DECIMAL_5            NUMBER(15,4),
      FRD_BOOLEAN_1            NUMBER(1),
      FRD_BOOLEAN_2            NUMBER(1),
      FRD_BOOLEAN_3            NUMBER(1),
      FRD_BOOLEAN_4            NUMBER(1),
      FRD_BOOLEAN_5            NUMBER(1),
      A_DATECRE                DATE                 NOT NULL,
      A_DATEMOD                DATE,
      A_IDCRE                  VARCHAR2(5 BYTE)     NOT NULL,
      A_IDMOD                  VARCHAR2(5 BYTE),
      A_RECLEVEL               NUMBER(3),
      A_RECSTATUS              NUMBER(4),
      A_CONFIRM                NUMBER(1),
      FRD_DATE_1               DATE,
      FRD_DATE_2               DATE,
      FRD_DATE_3               DATE,
      FRD_DATE_4               DATE,
      FRD_DATE_5               DATE
    )
    TABLESPACE CPY
    PCTUSED    0
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          16K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               )
    LOGGING 
    NOCACHE
    NOPARALLEL;
     
     
    CREATE INDEX DOC_DOCUMENT_S_DOC_FREE_DATA_F ON DOC_FREE_DATA
    (DOC_DOCUMENT_ID)
    LOGGING
    TABLESPACE CPY
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          24K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               )
    NOPARALLEL;
     
     
    CREATE UNIQUE INDEX PK_DOC_FREE_DATA ON DOC_FREE_DATA
    (DOC_FREE_DATA_ID)
    LOGGING
    TABLESPACE CPY
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          16K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               )
    NOPARALLEL;
     
     
    ALTER TABLE DOC_FREE_DATA ADD (
      CONSTRAINT PK_DOC_FREE_DATA PRIMARY KEY (DOC_FREE_DATA_ID)
        USING INDEX 
        TABLESPACE CPY
        PCTFREE    10
        INITRANS   2
        MAXTRANS   255
        STORAGE    (
                    INITIAL          16K
                    MINEXTENTS       1
                    MAXEXTENTS       2147483645
                    PCTINCREASE      0
                   ));
     
     
    ALTER TABLE DOC_FREE_DATA ADD (
      CONSTRAINT DOC_DOCUMENT_S_FREE_DATA2 FOREIGN KEY (DOC_DOCUMENT_ID) 
        REFERENCES DOC_DOCUMENT (DOC_DOCUMENT_ID)
        ON DELETE CASCADE);
     
    ALTER TABLE DOC_FREE_DATA ADD (
      CONSTRAINT DOC_FREE_DATA_S_FREE_TABLE_1 FOREIGN KEY (DIC_DOC_FREE_TABLE_1_ID) 
        REFERENCES DIC_DOC_FREE_TABLE_1 (DIC_DOC_FREE_TABLE_1_ID));
     
    ALTER TABLE DOC_FREE_DATA ADD (
      CONSTRAINT DOC_FREE_DATA_S_FREE_TABLE_2 FOREIGN KEY (DIC_DOC_FREE_TABLE_2_ID) 
        REFERENCES DIC_DOC_FREE_TABLE_2 (DIC_DOC_FREE_TABLE_2_ID));
     
    ALTER TABLE DOC_FREE_DATA ADD (
      CONSTRAINT DOC_FREE_DATA_S_FREE_TABLE_3 FOREIGN KEY (DIC_DOC_FREE_TABLE_3_ID) 
        REFERENCES DIC_DOC_FREE_TABLE_3 (DIC_DOC_FREE_TABLE_3_ID));
     
    ALTER TABLE DOC_FREE_DATA ADD (
      CONSTRAINT DOC_FREE_DATA_S_FREE_TABLE_4 FOREIGN KEY (DIC_DOC_FREE_TABLE_4_ID) 
        REFERENCES DIC_DOC_FREE_TABLE_4 (DIC_DOC_FREE_TABLE_4_ID));
     
    ALTER TABLE DOC_FREE_DATA ADD (
      CONSTRAINT DOC_FREE_DATA_S_FREE_TABLE_5 FOREIGN KEY (DIC_DOC_FREE_TABLE_5_ID) 
        REFERENCES DIC_DOC_FREE_TABLE_5 (DIC_DOC_FREE_TABLE_5_ID));

  6. #6
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Franchement, je ne vois pas comment obtenir une telle erreur sur un Select...

    Connected to:
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    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
     
    SQL> Select
      2    e.empno,
      3    e.ename,
      4    e.rowid
      5  From
      6    EMP e
      7  
    SQL> /
     
         EMPNO ENAME      ROWID
    ---------- ---------- ------------------
          7369 SMITH      AAADWGAAEAAAAMsAAA
          7499 ALLEN      AAADWGAAEAAAAMsAAB
          7521 WARD       AAADWGAAEAAAAMsAAC
          7566 JONES      AAADWGAAEAAAAMsAAD
          7654 MARTIN     AAADWGAAEAAAAMsAAE
          7698 BLAKE      AAADWGAAEAAAAMsAAF
          7782 CLARK      AAADWGAAEAAAAMsAAG
          7788 SCOTT      AAADWGAAEAAAAMsAAH
          7839 KING       AAADWGAAEAAAAMsAAI
          7844 TURNER     AAADWGAAEAAAAMsAAJ
          7876 ADAMS      AAADWGAAEAAAAMsAAK
          7934 MILLER     AAADWGAAEAAAAMsAAN
     
    14 rows selected.

  7. #7
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    Bonjour,

    Peut être est un problême applicatif (delphi ? ou autres ou ADO ?)

  8. #8
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par brisedansante
    Il me semble oui...
    voici le script de création:
    il manque la plupart des tables pour rendre le problème reproduisible... il faudrait aussi nous donner ta version

  9. #9
    McM
    McM est déconnecté
    Expert confirmé

    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
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par SheikYerbouti
    Etes-vous sûr que c'est cet ordre select qui provoque l'erreur ?
    Citation Envoyé par BriseDansante
    j'ai une requête toute simple qui devrait me permettre de modifier 2 valeurs dans une table avec la fonction "Rowid" mais les 2 erreurs suivante apparaissent lorsque je valide cette modification.
    C'est plutôt à l'UPDATE non ?

    Pourrait-on avoir le script qui plante ?

  10. #10
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Par défaut
    Bonjour,


    J'avais déjà eu ce genre de probleme sur un index qui était corrompu. Pouvez-vous faire un rebuild des indexes et voir si le probleme se reproduit ?


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  11. #11
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    Essaye de lancer ton select sous sqlplus et vérifie si ca marche.
    sinon tu utilise delphi ?, VB ? Forms ? ou autres ?
    et si oui peut on avoir le code source ?

Discussions similaires

  1. T-SQL RowId et Trigger
    Par vodasan dans le forum Développement
    Réponses: 4
    Dernier message: 26/01/2009, 08h41
  2. [PL/SQL][CURSEUR]invalid ROWID!!!
    Par thief dans le forum Oracle
    Réponses: 9
    Dernier message: 08/08/2005, 16h26
  3. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39
  4. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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