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