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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [oracle] Expression du mauvais type

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[oracle] Expression du mauvais type

n°1299626
DeadStar
Posté le 06-02-2006 à 10:11:35  profilanswer
 

Bonjour,
je travaille avec le SGBD Oracle et j'ai une erreur que je comprend pas...
J'ai une procédure avec une requête comme celle-ci :
 

[fixed]/**********************************************************************************
--* PROCEDURE : PRC_SEL_PROD
--* -------------------------------------------------------------------------------
--*
--* PARAMETRE :
--* RETOURNE  :
--* DESCRIPTION :selectionne les produit de catalogue franco, hors catalogue franco
/**********************************************************************************/
PROCEDURE PRC_SEL_PROD(PRODCursor IN OUT PRODCur,sChoixcat IN VARCHAR2,Choix IN VARCHAR2) IS
BEGIN
 IF Choix = '1' THEN /*produits hors catalogue franco*/
  OPEN PRODCursor FOR
SELECT c.cla_cod, c.cla_nom, f.famille_cod, f.famille_nom,  
                p.prd_cod, p.prd_nom,p.prd_lon, p.prd_lar,sf.famille_cod ,sf.sfamille_cod, sf.sfamille_nom  
        FROM cla c  ,famille f, sfamille sf, prde pr,  prd p, catprde ca  
  WHERE f.cla_cod   = c.cla_cod  
              AND sf.famille_cod  = f.famille_cod  
     AND pr.sfamille_cod  = sf.sfamille_cod  
     AND p.prd_cod = pr.prd_cod  
              AND ca.prd_cod = pr.prd_cod  
     AND ca.catprde_iac = 'O'
              AND ca.cat_cod =  SChoixCat
        ORDER BY c.cla_tri ,f.famille_tri,sf.sfamille_tri,pr.prde_tri, p.prd_cod, p.prd_nom;fixed]


l'erreur qui m'apparait est : expression du mavais type sur le select ... je comprend trop trop si quelqu'un pouvait eclairer ma lanterne je lui en serait eternellement reconaissante.
Mirki


Message édité par DeadStar le 06-02-2006 à 10:12:41
mood
Publicité
Posté le 06-02-2006 à 10:11:35  profilanswer
 

n°1299670
DeadStar
Posté le 06-02-2006 à 11:20:36  profilanswer
 

ca serait pas par rapport a mon cursor ? faudrait il que je le ferme ??

n°1299725
AntoineASB​O
Posté le 06-02-2006 à 12:33:47  profilanswer
 

heu!! mais je te connais toi ;-)

n°1299753
shreck
Posté le 06-02-2006 à 13:08:10  profilanswer
 

super réponse la mouche....ZZzzz !

n°1299783
DeadStar
Posté le 06-02-2006 à 13:46:06  profilanswer
 

Ou sinon ca bloque dans la declaration de mon cursor ... s'il vous plait help !

n°1299816
orafrance
Posté le 06-02-2006 à 14:24:53  profilanswer
 

c'est quoi ce curseur en paramétre ?

n°1299831
DeadStar
Posté le 06-02-2006 à 14:51:41  profilanswer
 

le cursor en parametre c'est :
 

-----------------------------------------------------------------------
-- Cursor utilisé dans  PRC_SEL_PROD
-----------------------------------------------------------------------
 Cursor Cur9 IS
   SELECT   c.cla_cod, c.cla_nom, f.famille_cod, f.famille_nom, p.prd_cod, p.prd_nom,p.prd_lon, p.prd_lar, pr.cdt_cod, pr.lievte_cod, l.lievte_nom, sf.sfamille_cod, sf.sfamille_nom
            FROM    cla c, famille f, sfamille sf, prdlie pr, prd p, lievte l, prde pe, catprde cp, catprdlie ca, cdt cd ;
      TYPE PRODCur IS REF CURSOR RETURN Cur9%ROWTYPE;


 
je me suis dit que peut etre l'erreur venait du select parceque j'ai pas rentré tous les noms de champs.. mais quand je veux les rajouter dans le select ca marche pas parcequ'il y a deja des noms qui y ressemblent..
 
oula je sens que je vais t'embrouiller la non ?

n°1299852
orafrance
Posté le 06-02-2006 à 15:26:36  profilanswer
 

REF CURSOR est un pointeur vers le curseur Cur9, en aucun cas tu ne peux l'ouvrir dans une autre procédure :/
 
Tu devrais vérifier l'utilisation des REF CURSOR mais là ça ne me parait pas correcte. C'est plutôt une boucle FORALL que tu dois utiliser je pense.  
 
Apparemment, il y a des exemples ici : http://sheikyerbouti.developpez.com/pl_sql/?page=Chap1

n°1299886
DeadStar
Posté le 06-02-2006 à 15:56:24  profilanswer
 

Mirki OraFrance !! ^^
De mon coté je viens de m'apercevoir qu'il y avit un problème aussi dans mon select regarde je pense que ca peut venir de ca :
 
-> Select du cursor :
Mirki OraFrance !! ^^
De mon coté je viens de m'apercevoir qu'il y avit un problème aussi dans mon select regarde je pense que ca peut venir de ca :
 
-> Select du cursor :

Code :
  1. SELECT c.cla_cod, c.cla_nom, f.famille_cod, f.famille_nom, p.prd_cod, p.prd_nom,p.prd_lon, p.prd_lar, sf.sfamille_cod, sf.sfamille_nom,pr.cdt_cod, pr.lievte_cod, l.lievte_nom


-> et le Select de ma procédure :

Code :
  1. SELECT c.cla_cod, c.cla_nom, f.famille_cod, f.famille_nom, p.prd_cod, p.prd_nom, p.prd_lon,
  2.         p.prd_lar, sf.famille_cod, sf.sfamille_nom


le truc c'est que ce cursor est utiliser dans la procédure par plusieurs requetes et que je ne peux donc pas enlever pr.cdt_cod, pr.lievte_cod, l.lievte_nom ... :sweat:  
 
je sais po trop comment faire ! je vais bucher ton FORALL

n°1299924
DeadStar
Posté le 06-02-2006 à 16:56:56  profilanswer
 

c'est bon c'est pas grave j'ai mis dans mes requetes les champs en trop (tampis si je les utilises pas)  
sinon si ta une autre soluce je veux bien l'entendre =)
Merci


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

  [oracle] Expression du mauvais type

 

Sujets relatifs
Expression reguliere, je debute...[PHP] - Aide : Expression Régulière
Manipulation d'expression icalendaroracle : delete infini ...
Mauvais affichage d'une CSS sous Firefox mais ok sur I.Exppasser une variable de type array en GET
[SGBD] Oracle 8i, TextSearch : besoin d'infos[ORACLE] petit problème avec les procédures..
capturer la taille du fichier avant upload via type="file"Croûtage dans les règles d'un serveur : Paramétrage d'Oracle ?
Plus de sujets relatifs à : [oracle] Expression du mauvais type


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