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

PL/SQL Oracle Discussion :

PL/SQL Positions de curseurs


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut PL/SQL Positions de curseurs
    Bonjour, j'ai un petit soucis; non pas dû à un problème algorithmique mais plutôt au fait que je ne vois pas comment représenter ce que je dois faire...

    Voici la structure de mon code actuel

    Comme vous pouvez le voir je commence par saisir un identifiant; cet identifiant va me servir à accéder à plusieurs tables via des curseurs.
    Jusque là pas de problème.

    J'accède donc avec mon c2 à la position x et y d'une borne.

    Le soucis apparaît à ce moment là. Pour mon traitement j'ai besoin du x et y de ma borne courante de curseur; mais j'ai également besoin de la suivante. Afin de faire des calculs de longueurs notamment.

    Donc au final je dois pouvoir accéder à la borne courante comme je le fais mais aussi à sa suivante. Hors là je bloque.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Accept idParc prompt 'Identifiant Parcelle:';
     
     
    BEGIN
    	for c1_ligne in(select IdBorne from Sommet where IdParcelle='&idParc' order by 1) loop --borne
    		for c2_ligne in(select X,Y from Borne where IdBorne=c1_ligne.IdBorne) loop --limite borne
     
    		end loop;
    	end loop;
    END;
    /



    Merci pour votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,


    Et pourquoi ne passez-vous pas par des jointures ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut
    Merci.

    Mon énoncé me force à utiliser les notions que je vois pour le moment en cours; s'il est vrai que je pourrais surement faire des jointures; on m'oblige à passer par la solution des curseurs puis à faire un enregistrement dans un tableau.

    Cela dit je pense que même en passant par des jointures j'en serais bloqué au même point.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Si pour appliquer votre algorithme vous avez besoin de l'identifiant d'une borne et de l'identifiant de la borne suivante (comme est-elle définie la borne suivante ?) alors qu'il soit ainsi! Commencez donc avec la lecture des identifiants que vous besoin pour appliquer votre algorithme: l'identifiant d'une borne et de la suivante.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut
    Merci pour votre réponse.


    Effectivement c'est la solution que je recherche^^

    Le problème c'est que je ne sais pas comment je peux lire la position suivante de mon curseur justement.

    Là je le parcours juste automatiquement dans ma boucle for.

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Commencez par définir "suivante". N'hésitez pas à poster un jeu d'essai.

    Niveau algorithme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Pour chaque borne retourne par l'identifiant de la parcelle
      lecture de la borne "suivante"
      Si la borne suivante existe ...
      ...
      traitement de la borne et de la borne suivante
      Fin Si
    Fin Pour
    Alternativement vous pouvez commencer l'algorithme avec les deux bornes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Pour chaque tuple borne et borne suivante
    ...
    Fin Pour

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PL/SQL] SQL Dynamique et curseur
    Par Loko dans le forum Oracle
    Réponses: 10
    Dernier message: 23/11/2004, 16h18
  2. Obtenir la position du curseur dans une Image
    Par bastoune dans le forum Composants VCL
    Réponses: 6
    Dernier message: 14/11/2003, 21h02
  3. Position du curseur dans un TMemo
    Par yokito dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2003, 16h35
  4. Position du curseur
    Par gimlithedwarf dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/08/2002, 23h45
  5. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09

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