IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

ORA-03113 avec un SELECT IN


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8
    Par défaut ORA-03113 avec un SELECT IN
    Bonjour,
    J'ai un petit souci avec une requête Oracle (10.2 R2).
    Je pense que c'est un problème de paramètrage, mais je ne sais pas lequel.

    J'ai une vue (spatiale) composée de plein de choses, dont 2 identifiants.
    Dans une application, je dois formater une requête du type :
    SELECT identifiant FROM VUE WHERE identifiant2 IN (<liste>)

    Ma liste <liste> vient d'un WebService (du coup, je peux pas trop modifier la forme de la requête).

    J'ai fait en sorte que ma liste <liste> ne dépasse pas 1000 identifiants (j'avais lu ça quelque part, c'est vrai ?). Du coup, je me retrouve à faire plusieurs listes (de moins de 1000 identifiants) quand ma liste initiale est trop longue et de modifier ma requête ainsi :
    SELECT identifiant FROM VUE WHERE identifiant2 IN (<liste1>) OR identifiant2 IN (<liste2>)...

    Problème : quand ma liste initiale est trop longue, je me retrouve avec une erreur : ORA-03113.

    Qu'en pensez-vous ?
    Merci de votre aide !

  2. #2
    Scorpi0
    Invité(e)
    Par défaut
    Bonjour,

    A ta place, je stockerai <liste> dans une table, puis je modifierais la requête en une jointure entre les deux tables. Tu gagnerais certainement en performance et en propreté, par contre je ne sais pas si tu as suffisamment la main pour faire ça.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8
    Par défaut
    Bonjour,

    OK, ça peut être une bonne idée...
    Ca peut être un peu compliqué à mettre en place car mon webservice est interrogé en permanence par plusieurs clients et pour plusieurs requêtes différentes. Mais bon, ça devrait être possible...
    Faudra que je mette en place une procédure de nettoyage de la table temporaire... A moins qu'il y ait des outils dans Oracle pour nettoyer des enregistrements automatiquement après un certain délai ?

    Merci pour cette idée en tout cas !

Discussions similaires

  1. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 03h04
  2. Réponses: 4
    Dernier message: 14/09/2011, 12h31
  3. Résultat commençant par un chiffre avec requête SELECT
    Par nicolas.pissard dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/04/2010, 13h31
  4. Réponses: 1
    Dernier message: 17/07/2008, 16h31
  5. [struts][JSP][select] problème avec le select
    Par redge_touch dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/01/2004, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo