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'apelleoù :
Code : Sélectionner tout - Visualiser dans une fenêtre à part MAFONCTION (p_toto MATABLE%ROWTYPE)
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 MATABLE Col1 VARCHAR2(15) Col2 VARCHAR2(30) Col3 VARCHAR2(30) 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...
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
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 !
Partager