Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1252 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  erreur de chaine de charactere sql dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

erreur de chaine de charactere sql dynamique

n°1823247
psyrio
Posté le 07-12-2008 à 17:44:13  profilanswer
 

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 :
  1. CREATE OR REPLACE Package PKS_Tableau Is
  2. procedure TableauMiParcours (ar1 MATCH.ALLERRETOUR%type, domicileLocale1 int);
  3. end PKS_Tableau;
  4. /
  5. create or replace package body PKS_Tableau is
  6. procedure TableauMiParcours (ar1 MATCH.ALLERRETOUR%type, domicileLocale1 int) is
  7. ar MATCH.ALLERRETOUR%type;
  8. domicileLocale int;
  9. equipe MATCH.EQUIPELOCALE%type;
  10. point MATCH.POINTSLOCAUX%type;
  11. malus MATCH.MALUSLOCAUX%type;
  12. scoreFinal MATCH.LOCAUXSCOREFINALMATCH%type;
  13. scoreMiTemps MATCH.LOCAUXSCOREMITEMPS%type;
  14. debSaison SAISONFOOT.ANDEBSAISON%type;
  15. finSaison SAISONFOOT.ANFINSAISON%type;
  16. sens char(1);
  17. Requete VARCHAR2(30000);
  18. begin
  19. domicileLocale := domicileLocale1;
  20. ar := ar1;
  21. If domicileLocale = 1 then
  22.  equipe := 'equipelocale';
  23.  sens :='>';
  24.  point := 'POINTSLOCAUX';
  25.  malus := 'MALUSLOCAUX';
  26.  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;';
  27.  EXECUTE IMMEDIATE Requete using equipe,point,malus,ar;
  28. end If;
  29. end;
  30. end PKS_Tableau;
  31. /
  32. EXECUTE PKS_Tableau.TableauMiParcours('A',1);


 
 et le message d'errreur :
 

Code :
  1. Package cree.
  2. Corps de package cree.
  3. BEGIN PKS_Tableau.TableauMiParcours('A',1); END;
  4. *
  5. ERREUR a la ligne 1 :
  6. ORA-06502: PL/SQL : erreur numerique ou erreur sur une valeur: tampon de chaine de caracteres trop petit
  7. ORA-06512: a "PSYRIO.PKS_TABLEAU", ligne 22
  8. ORA-06512: a ligne 1


 
Pourriez vous m'aidez je dois rendre le projet assez rapidement et cette erreur me bloque depuis 4 jours?

mood
Publicité
Posté le 07-12-2008 à 17:44:13  profilanswer
 

n°1823739
moi23372
Posté le 08-12-2008 à 20:41:31  profilanswer
 

tu es bien sûre que ça plante sur le EXECUTE IMMEDIATE?
 
met des instructions  
DBMS_OUTPUT.PUT_LINE('texte');  
 
afin de voir jusqu'ou ça va. Vérifie également la valeur de tous tes paramètres. ça devrait te donner une idée.
 
Malheureusement, vu le peu d'informations que tu donnes sur l'erreur, je ne saurais t'en dire beaucoup plus.
 
En regardant un peu plus ton code, il a l'air ultra foireux.
Si  je comprends bien, la valeur de type "MATCH.POINTSLOCAUX" est de type numérique étant donné que tu essayes de faire une somme dessus.  
Or dans ton code, tu tentes d'assigner du texte à ta variable "point".  
Tu es sûre que tu as bien tout compris?


Message édité par moi23372 le 08-12-2008 à 20:43:10

---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  erreur de chaine de charactere sql dynamique

 

Sujets relatifs
Tableau plusieurs dimensions et chaine de caractèresJava - Erreur de configuration Microsoft Jscript
Occurence multiples dans chaineListe de tableaux dynamique
[WxDesigner] Radiobox et events [MAJ]preg_replace -> jusqu'à une chaine
[ASP] Erreur suite à migration de serveurErreur Unknown modifier '/' avec preg_replace
erreur phpCryptage d'une chaine
Plus de sujets relatifs à : erreur de chaine de charactere sql dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR