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

Sybase Discussion :

[T-SQL]Fonction récurssive possible?


Sujet :

Sybase

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 72
    Par défaut [T-SQL]Fonction récurssive possible?
    Bonjour,
    Est il possible de créer une proc stock avec une fonction récurssive?
    Si oui, comment?

    Désolé, je connais pas très bien Sybase.


    Merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    Oui, on peut tout à fait créer une proc stockée récursive:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    create proc recurse @val int 
    as 
    print "val= %1!", @val 
    if @val = 2 
       return 
    else 
       exec recurse @val = 2
    go
    1> recurse 3
    2> go
    val= 3
    val= 2
    (return status = 0)
    Attention toutes fois à ne pas faire de récursion infinie!

    Michael

  3. #3
    Membre confirmé

    Inscrit en
    Décembre 2002
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 68
    Par défaut pour éviter la récursivité infinie
    pour éviter que ton code ne boucle infiniment jusqu'à plantage dus erveur rajoute ce bout de code :

    if @@nestlevel > 100
    begin
    RaiseError 21000
    end

    la variable du serveur @@nestlevel compte le nombre d'imbrication.
    Avec un tel code, au bout de 100 appels récursifs, l'erreur 21000 est levée et la boucle s'arrête.

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

Discussions similaires

  1. [SQL] requete INSERT possible?
    Par clad523 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/08/2005, 15h42
  2. Réponses: 5
    Dernier message: 13/07/2005, 10h03
  3. [PL/SQL] fonction et alter session
    Par aline dans le forum Oracle
    Réponses: 10
    Dernier message: 26/01/2005, 15h23
  4. [PL/SQL] Fonction qui retourne plusieurs valeurs
    Par Loko dans le forum Oracle
    Réponses: 2
    Dernier message: 07/12/2004, 09h43
  5. SQL Serveur 'BDD' possible ?
    Par blins dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/10/2004, 13h35

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