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 :

Detecter boucle - Cursor - trigger


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier Avatar de nicodn02
    Profil pro
    Consultant .NET
    Inscrit en
    Mars 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant .NET

    Informations forums :
    Inscription : Mars 2007
    Messages : 263
    Points : 97
    Points
    97
    Par défaut Detecter boucle - Cursor - trigger
    Bonjour,
    Je voudrais savoir comment faire, avec la mise en place d'un trigger, pour détecter la présence d'une boucle dans une table
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TABLE : test
       id
       id_next
    Il faudrait ou pas détecter une boucle : 1 -> 2 -> 3 -> 1 : BOUCLE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    CREATE OR REPLACE TRIGGER verif_boucle
    AFTER INSERT OR UPDATE OF id_next ON test
    BEGIN
    CURSOR C IS SELECT id FROM test CONNECT BY id_next = PRIOR id;
    id_tmp test.id_next%TYPE;
    BEGIN
    OPEN C;
    LOOP
    [...]
    END LOOP;
    CLOSE C;
    [...]
    END;
    /
    Je ne sais pas si mon début est déjà correct, et encore moins que mettre dans les [...]

    Merci

    Nico

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 277
    Points : 11 733
    Points
    11 733
    Par défaut
    voir cet exemple, sans procédure ni curseur :

    http://www.developpez.net/forums/d67...s/#post3935076
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre régulier Avatar de nicodn02
    Profil pro
    Consultant .NET
    Inscrit en
    Mars 2007
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant .NET

    Informations forums :
    Inscription : Mars 2007
    Messages : 263
    Points : 97
    Points
    97
    Par défaut
    Mais j'ai cette contrainte de faire une boucle
    Mais je ne comprends pas comment faire à l'intérieur

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Bonjour nicodn02,

    Pourrais tu mettre ton code en entier stp? j'aimerai surtout voir la déclaration de tes variables.

    Merci.

Discussions similaires

  1. detection de clic à l'interrieur d'une boucle
    Par Galkir dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/07/2006, 12h17
  2. [ SQL2k ]Detecter la ature de l'action d'un trigger
    Par Last newbie dans le forum Développement
    Réponses: 1
    Dernier message: 21/06/2006, 16h19
  3. [Stratégie] détection boucle infini
    Par dark_falcon dans le forum Général Java
    Réponses: 19
    Dernier message: 20/03/2006, 17h40
  4. [cursor] initalisation de boucle
    Par norel38 dans le forum Oracle
    Réponses: 5
    Dernier message: 02/01/2006, 22h56
  5. detecter si le cursor est au dessus d'un controle
    Par philippe V dans le forum MFC
    Réponses: 2
    Dernier message: 30/06/2005, 21h19

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