Salut,
J'ai quelque chose de simple, une fonction qui a deux arguments en paramétres:
Dans cette fonction j'ai une requête encore plus simple qui utilise les paramétres:
Code : Sélectionner tout - Visualiser dans une fenêtre à part (codecat IN bdc_TRACENAVIGATION.CODECATEGORIE%Type, codelangue IN bdc_CATEGORIES_LANGUE.CODELANGUE%Type)
Le problème, c'est comme s' il ne prennait pas en compte la clause WHERE, il me selectionne les noms dans toutes les langues. Pourtant la valeur de codelangue est bonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select CL.NOM_CATEGORIE from bdc_CATEGORIES_LANGUE CL inner join bdc_CATEGORIES_TREE CT on CT.CODECATEGORIE = CL.CODECATEGORIE where CL.CODELANGUE = codelangue and CT.LFT <= (select LFT from bdc_CATEGORIES_TREE where CODECATEGORIE = codecat) and CT.RGT >= (select RGT from bdc_CATEGORIES_TREE where CODECATEGORIE = codecat);
Par contre lorsque je mets directement la valeur, ca fonctionne:
J'ai testé la valeur de codelangue dans la fonction, elle détient bien la valeur que je passe en paramétre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part where CL.CODELANGUE = 1
J'ai également changé le type de codelangue mais sans succés.
Quelqu'un à une idée?
Partager