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

MS SQL Server Discussion :

Requete recursive avec WITH


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 72
    Par défaut Requete recursive avec WITH
    Bonjour,

    Je voudrais faire une requete recursive sur SQL Server 2005. J'ai donc parcouru le net a la recherche d'exemple et tous les exemples que je trouve (qui semble marcher pour les autres) ne marche pas chez moi.

    A chaque fois j'obtiens l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Incorrect syntax near the keyword 'WITH'.
    voici un exemple de code qui est cense marcher:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    CREATE TABLE Nomencl
    (Précédent char(8) NOT NULL,
     Code char(8) NOT NULL,
    PRIMARY KEY (Code)
    ) ;
     
    INSERT INTO Nomencl VALUES ('30', '33') ;
    INSERT INTO Nomencl VALUES ('36', '30') ;
    INSERT INTO Nomencl VALUES ('0', '36') ;
     
    ----------- Requête récursive ------------------
     
    WITH Recurs (Précédent, Code) AS
     -- Amoçage de la pompe
    (SELECT Précédent, Code
      FROM   Nomencl WHERE Précédent = '0'    -- point de départ
      Union ALL
      -- Récursion
     (SELECT n.Précédent, n.Code
      FROM   Nomencl AS n, Recurs AS r   
      WHERE  n.Précédent = r.Code)
     ) 
    -- Affichage du résultat 
    SELECT Code, Précédent
    FROM   Recurs
    ;
    si quelqu'un connait le pourquoi du probleme, mes oreilles sont grandes ouvertes

  2. #2
    Membre averti
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut
    C'est vrai que ça marche pour moi !

    Tu as essayé juste en retirant les accents ?

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Peut être votre base est en rétro compatibilité 2000. Essayer en créant une nouvelle base.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 72
    Par défaut
    Je ne peux pas recreer de base nous sommes plusieurs a travailler dessus. Cependant je peux l'administrer si je veux. J'avais trouve quelques forums parlant justement du probleme de compabilite entre les versions.

    Ma base a un compability level 80. est ce bon ?

  5. #5
    Membre expérimenté Avatar de gderenne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2007
    Messages : 250
    Par défaut
    Si je ne dis pas de bétises, SQL Server 2005 est 90.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    80 => SQL Server 2000. C'est donc bien la raison de l'impossibilité de créer des requêtes récursives.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. problème avec requete recursive
    Par richard038 dans le forum SQL
    Réponses: 1
    Dernier message: 04/04/2011, 12h42
  2. 2 problèmes avec with recursive et case
    Par fabienazerty dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/11/2009, 09h50
  3. Set @variable = sous-requete avec with
    Par famjerom dans le forum Développement
    Réponses: 4
    Dernier message: 07/06/2009, 10h10
  4. [version] Requete Update avec différentes versions de mySQL
    Par regbegpower dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2004, 17h19
  5. requete SELECT avec un nombre constant
    Par gurumeditation dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/07/2003, 20h04

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