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 :

Rowid null sur table [10g]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Par défaut Rowid null sur table
    Bonjour,

    Alors que ma requête fonctionnait bien il y a quelques mois dans une procédure que j'avais crée, il se trouve bizarrement que le champ rowid d'une table est à nul. En effet, j'ai besoin de celui-ci pour mettre à jour un autre champ avant d'insérer dans une table. Par ailleurs, je remarque que cela concerne 90% de mes enregistrements.

    D'avance merci.

    Thomas

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Vous parlez bien de la pseudo-colonne 'rowid' ?
    Il faudrait en savoir plus (type de table, requête,...)
    Cordialement,
    Franck.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Par défaut
    Citation Envoyé par pachot Voir le message
    Bonjour,
    Vous parlez bien de la pseudo-colonne 'rowid' ?
    Il faudrait en savoir plus (type de table, requête,...)
    Cordialement,
    Franck.
    Bonjour,

    Il s'agit bien de la fameuse pseudo-colonne d'identification d'enregistrement 'rowid' et la table est de type standard.
    Quand à la requête, elle est toute simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "Select  rowid 
        From   from table"
    Ce qui me retourne que du null.

    Cordialement

    Thomas

  4. #4
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bizarre...
    Est-ce qu'on peut voir le plan d'exécution avec les projections:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    explain plan for select  rowid From   from table;
    select * from table(dbms_xplan.display(null,null,'ADVANCED'));

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Par défaut
    Citation Envoyé par pachot Voir le message
    Bizarre...
    Est-ce qu'on peut voir le plan d'exécution avec les projections:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    explain plan for select  rowid From   from table;
    select * from table(dbms_xplan.display(null,null,'ADVANCED'));
    Bonjour,

    Sur la 2nde requête, ça me retourne une erreur ORA-0933 SQL not properly ended.
    D'autre part, je constate que la plupart des tables n'ont plus de rowid alors que j'avais fait fonctionner ma procédure de manière à utiliser le rowid et cela avait fonctionner.
    Enfin j'oublie de préciser que si je fais la requête suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select rowid, clie from table
    seule la colonne clie s'affiche.

  6. #6
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Est-ce que vous pouvez donner un exemple du genre:

    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
    SQL> select rowid from dual;
    ROWID
    ------------------
    AAAAB0AABAAAAOhAAA
    SQL> select * from table(dbms_xplan.display_cursor(null,null,'+projection'));
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------
    SQL_ID  2wkykyau044gx, child number 0
    -------------------------------------
    select rowid from dual
    Plan hash value: 272002086
    --------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |       |       |     2 (100)|          |
    |   1 |  TABLE ACCESS FULL| DUAL |     1 |     2 |     2   (0)| 00:00:01 |
    --------------------------------------------------------------------------
    Column Projection Information (identified by operation id):
    -----------------------------------------------------------
       1 - ROWID[ROWID,10]
     
    18 rows selected.

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

Discussions similaires

  1. Problème de NULL sur un Pivot basé sur une Table Dynamique
    Par guilld dans le forum Développement
    Réponses: 3
    Dernier message: 01/08/2011, 15h05
  2. Requête sur table liée non nulle
    Par MistyMan dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/02/2009, 12h44
  3. Erreur 145 sur table mysql
    Par ramses83 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/09/2007, 21h09
  4. Réponses: 14
    Dernier message: 23/07/2007, 17h29
  5. [Sybase] Utilisation indexes sur table Proxy
    Par MashiMaro dans le forum Sybase
    Réponses: 2
    Dernier message: 20/02/2004, 10h20

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