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

  FORUM HardWare.fr
  Programmation

  [ PHP / ORACLE ] Longueur de ma requète.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ PHP / ORACLE ] Longueur de ma requète.

n°49721
shinji
Posté le 30-07-2001 à 16:22:56  profilanswer
 

Voilà je génère une requète mais elle s'avère être trop longue pour Oracle! Comment puis-je faire?
 
Voici le requète:
 
select COTATION.NOTE, COTATION.COMMUNE from COTATION where COTATION.COMMUNE in ('35001','35002',.....,'35003');
 
Si le nombre de possibilités dans le in est trop grand, j'ai un :
 
Warning: Ora_Parse failed (ORA-00936: Expression absente -- while processing OCI function OPARSE) in c:\tomcat\webapps\onel\php\essai\faire_fichier_xml.php on line 21
 
Savez??

mood
Publicité
Posté le 30-07-2001 à 16:22:56  profilanswer
 

n°49724
seblamb
Posté le 30-07-2001 à 16:27:36  profilanswer
 

Un table avec les cotations recherchées
+
 select COTATION.NOTE, COTATION.COMMUNE from COTATION where COTATION.COMMUNE in (select COTATION from cotations_recherchees);

n°49728
shinji
Posté le 30-07-2001 à 16:36:09  profilanswer
 

Le but de la requète c'est d'obtenir les NOTES des communes de la liste.(c'est pas fonction de la valeur de la note)
et pis les n° des communes sont sélectionnés dans une liste et ne correspondent donc pas à l'ensemble des communes d'une table, c'est vraiment une liste de valeurs.

n°49734
seblamb
Posté le 30-07-2001 à 16:41:58  profilanswer
 

Je me suis trompé dans la requete  
 
select COTATION.NOTE, COTATION.COMMUNE from COTATION where COTATION.COMMUNE in (select COTATION.COMMUNE from cotations_recherchees);  
 
 
Tu fais une table avec la liste des valeurs. Et la requete va chercher dedans

n°49749
shinji
Posté le 30-07-2001 à 17:06:40  profilanswer
 

J'ai une autre solution mais je me demande laquelle est la plus rapide:
 
1: créer une table contenant le n° des communes recherchée
-insert into LISTE(n°commune);
-select COTATION.NOTE,COTATION.COMMUNE from COTATION where COTATION.COMMUNE in (select * from LISTE);
 
ou
 
2: utiliser les OR et les in. Une requète SQL est limitée à 64 OR et 64 in, en utilisant les 2 on arrive à un nombre suffisament élevé:
 
select COTATION.NOTE,COTATION.COMMUNE
from COTATION  
where COTATION.COMMUNE in ('...','...',....,'...')
OR
COTATION.COMMUNE in('...',...,'...')
OR
...
OR
COTATION.COMMUNE in('...',...,'...');
 
Ou avec plusieurs UNION aussi??
Vous avez déjà essayé???
La création d'une table (ou les insert du moins) représente la solution la plus rapide?

n°49817
Mara's dad
Yes I can !
Posté le 30-07-2001 à 21:53:33  profilanswer
 

1-insert into LISTE(commune);  
2-select COTATION.NOTE,COTATION.COMMUNE from COTATION, liste where COTATION.COMMUNE=LISTE.commune;  
 
Ca devrait être plus rapide comme çà !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°49857
shinji
Posté le 31-07-2001 à 10:48:52  profilanswer
 

Y a un problème avec la méthode des insert :
 
Il faut gérer les accès concurents! Si deux personnes interrogent la page en même temps, ils vont tous les deux insérer dans la table ou l'un va supprimer ce que l'autre a ajouté par exemple.
 
Y a pas moyen avec une simple requête??

n°49879
shinji
Posté le 31-07-2001 à 11:45:04  profilanswer
 

Sinon dans le même style, comment faites-vous quand vous stoker une image sur votre dur (une image générée différente à chaque fois) ou un fichier, il y a le même prob d'accès concurent???
Vous générer un fichier avec un nom aléatoire ou contenant un id de session??
Dans ce cas quand et comment supprimez vous les fichiers pour ne pas surcharger le disque dur???


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

  [ PHP / ORACLE ] Longueur de ma requète.

 

Sujets relatifs
colfusion, sql et oracle[Oracle] Configuration du Listener sur un Oracle 8
a l'aide ! (probleme de base SQL /PHP)Java et PHP votre avis et question
[PHP] - PB avec les <br>[ PHP / ORACLE / XML ] Cherche un utilitaire, classe ou script
[Oracle] le listener qui pete ![Oracle] Requète qui renvoie le nom des champs d'une table?
Plus de sujets relatifs à : [ PHP / ORACLE ] Longueur de ma requète.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)