|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Développeur informatique Inscription : octobre 2011 Messages : 1 ![]() |
Quand je mets la function MATRIX dans ma query, j'ai une error du type ORA-00907
quelqu'un sait comment résoudre ce problème? Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Affichez simplement le contenu de votre variable search avec dbms_output, vous verrez que vous avez commis des erreurs dans le placement des apostrophes.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() |
Il doit manquer un '||' vers la fin de l'appel à la fonction MATRIX, juste avant les 2 apostrophes et la parenthèse fermante.
|
|
|
00
|
|
|
#4 | ||
![]() Salim Développeur et DBA Oracle Inscription : octobre 2006 Messages : 872 ![]() |
Salut,
Essaie de remplacer Code :
__________________
Publications: http://schelabi.developpez.com/ |
||
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() François Inscription : février 2010 Messages : 306 ![]() |
Pourquoi ne pas utiliser un curseur au lieu de passer un gros text en varchar2?
Ca permettra d'utiliser les bind variables, ce sera mieux au niveau du parse etc, et ca evitera ce genre de desagrement. Je ne vois pas ce qui bloque la comme ca. |
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Mohamed HouriInscription : mars 2010 Messages : 286 ![]() |
Lorsque vous utilisez du SQL dynamique vous devez avoir à l’esprit les deux règles d’or suivantes :
Si vous suivez la règle 1 vous saurez tout de suite où se trouve votre erreur (comme cela vous a déjà été conseillé par un des intervenants). Si vous suivez la règle 2, vous trouverez qu’il n’y a aucun intérêt à procéder comme vous le faites actuellement. |
|
|
20
|
|
|
#7 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Indépendamment des problèmes de quote ou même de la pertinance de la requête dynamique, il est préférable de ne pas appeler la fonction PL/SQL directement dans le SELECT, mais de passer par une sous-requête scalaire afin de profiter du cache de la sous-requête scalaire : On Caching and Evangelizing SQL
Code :
(SELECT (MATRIX(''SELECT DISTINCT PRODUCT FROM TST_RESERVAS_PROD WHERE RESERVA_ID = ''||RESERVA_ID)) FROM dual) AS matrix |
|
|
20
|
Copyright © 2000-2012 - www.developpez.com