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 :

Différence entre %ROWTYPE de Oracle 8i et Oracle 9i ??


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 46
    Points
    46
    Par défaut Différence entre %ROWTYPE de Oracle 8i et Oracle 9i ??
    Bonjour,

    Environnement : Oracle 8i 8.1.5 (actuel) et Oracle 9i 9.2.0.6.0 (futur)

    Petite question concernant %ROWTYPE : nous avons récupéré un batch PL/SQL qui utilise %ROWTYPE pour un des paramètres en entrée.
    Or, ce paramètre peut prendre un enregistrement de plusieurs tables à condition que ces tables ait la même description (VARCHAR2, NUMBER, DATE, etc...) et même si les longueurs diffèrent.
    Je précise : j'ai une fonction qui s'apelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MAFONCTION (p_toto MATABLE%ROWTYPE)
    où :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MATABLE
    Col1 VARCHAR2(15)
    Col2 VARCHAR2(30)
    Col3 VARCHAR2(30)
    Col4 DATE
    Col5 DATE
    On peut donc lui passer en entrée un enregistrement de la table MATABLE, mais aussi sous Oracle 8i des enregistrements d'autres tables ayant la même description, par exemple MATABLE2, même si :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MATABLE2
    Col1 VARCHAR2(30)    -- longueurs supérieures
    Col2 VARCHAR2(45)
    Col3 VARCHAR2(45)
    Col4 DATE
    Col5 DATE
    Je trouve déjà bizarre que ça fonctionne (Oracle 8i ne tient pas compte de la longueur des colonnes ???), mais bon...
    Le problème, c'est que ça ne fonctionne pas sous Oracle 9i (erreur ORA-06502) !

    Est-ce quelqu'un pourrait m'en dire plus ou saurait s'il y a eu des modifications sous Oracle 9i concernant %ROWTYPE ?

    Merci par avance !

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour ,
    Il n'y a pas eu de modification ..

    peux tu nous détailler le code

  3. #3
    Membre habitué Avatar de Process Linux
    Inscrit en
    Septembre 2003
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 136
    Points : 149
    Points
    149
    Par défaut
    Explication de l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    ORA-06502, "PL/SQL: numeric or value error" 
    Cause: The valid range for the threshold argument to the Similar( ) function is from 0.0 to 100.0. 
     
    Action: Correct the statement and try again.
    il s'agit d'un débordement quelque part dans le code, tu fais une affectation d'une variable V1 dans V2 avec la taille de V1 supperieur à celle de V2

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/09/2009, 12h45
  2. Réponses: 1
    Dernier message: 15/05/2008, 11h37
  3. Réponses: 2
    Dernier message: 21/01/2007, 20h42
  4. Différences entre les versions 8 et 9 de Oracle??
    Par Stoppa dans le forum Oracle
    Réponses: 2
    Dernier message: 27/03/2006, 13h51
  5. Différence entre drivers ODBC Oracle
    Par snoopy69 dans le forum Oracle
    Réponses: 4
    Dernier message: 24/02/2005, 14h27

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