Bonjour,
Je souhaite crée une requete SQL dynamique dans une procedure, lorsque je compile il n'y a pas d'erreur mais lors de l'execution une erreur sur la taille de la chaine de charactere aparait, pourriez vous m'aidez?
Je suis sous Oracle 11g, en utilisant SQL*PLUS sur Ubuntu Intrepid.
voici le code :
Code :
- CREATE OR REPLACE Package PKS_Tableau Is
- procedure TableauMiParcours (ar1 MATCH.ALLERRETOUR%type, domicileLocale1 int);
- end PKS_Tableau;
- /
- create or replace package body PKS_Tableau is
- procedure TableauMiParcours (ar1 MATCH.ALLERRETOUR%type, domicileLocale1 int) is
- ar MATCH.ALLERRETOUR%type;
- domicileLocale int;
- equipe MATCH.EQUIPELOCALE%type;
- point MATCH.POINTSLOCAUX%type;
- malus MATCH.MALUSLOCAUX%type;
- scoreFinal MATCH.LOCAUXSCOREFINALMATCH%type;
- scoreMiTemps MATCH.LOCAUXSCOREMITEMPS%type;
- debSaison SAISONFOOT.ANDEBSAISON%type;
- finSaison SAISONFOOT.ANFINSAISON%type;
- sens char(1);
- Requete VARCHAR2(30000);
- begin
- domicileLocale := domicileLocale1;
- ar := ar1;
- If domicileLocale = 1 then
- equipe := 'equipelocale';
- sens :='>';
- point := 'POINTSLOCAUX';
- malus := 'MALUSLOCAUX';
- Requete := 'create or replace view TAD AS select :1, sum(:2)- sum(:3) AS POINTS_DOMICILE_ALLER from match where ALLERRETOUR = :4 AND matchjoue= 1 group by :1;';
- EXECUTE IMMEDIATE Requete using equipe,point,malus,ar;
- end If;
- end;
- end PKS_Tableau;
- /
- EXECUTE PKS_Tableau.TableauMiParcours('A',1);
|
et le message d'errreur :
Code :
- Package cree.
- Corps de package cree.
- BEGIN PKS_Tableau.TableauMiParcours('A',1); END;
- *
- ERREUR a la ligne 1 :
- ORA-06502: PL/SQL : erreur numerique ou erreur sur une valeur: tampon de chaine de caracteres trop petit
- ORA-06512: a "PSYRIO.PKS_TABLEAU", ligne 22
- ORA-06512: a ligne 1
|
Pourriez vous m'aidez je dois rendre le projet assez rapidement et cette erreur me bloque depuis 4 jours?