Est-ce que quelqu'un a réussi à créer un CTE dans SQL Server T-SQL qui inclut également une déclaration WITH XMLNAMESPACES
?Combiner CTE "WITH" et "WITH XMLNAMESPACES ...." dans SQL Server
Il semble que les deux mots-clés WITH
insistent sur le fait d'être la "première dans le lot T-SQL", et cela ne fonctionne pas vraiment ....
J'ai essayé:
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
WITH CTEQuery AS
(
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
Didn » travail t :-((erreurs de syntaxe)
Msg 156, niveau 15, état 1, ligne 2
syntaxe incorrecte près du mot clé 'avec'.
Msg 319, niveau 15, état 1, ligne 2
Syntaxe incorrecte près du mot clé 'avec'. Si cette instruction est une expression de table commune , une clause xmlnamespaces ou une clause de contexte de suivi , l'instruction précédente doit être terminée par un point-virgule .
donc j'ai essayé préfixer le deuxième WITH
avec un point-virgule:
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
;WITH CTEQuery AS
(
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
et obtenu ceci:
Msg 102, niveau 15, état 1, ligne 2
syntaxe incorrecte près ';'
puis j'ai essayé de mettre le WITH XMLNAMESPACES
dans le CTE:
WITH CTEQuery AS
(
WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
SELECT (list of fields)
FROM dbo.MyTable
WHERE (conditions)
)
SELECT * FROM CTEQuery
et a obtenu ceci:
Msg 156, niveau 15, état 1, ligne 4
syntaxe incorrecte près le mot-clé 'WITH'.
Msg 319, niveau 15, état 1, ligne 4
Syntaxe incorrecte près du mot clé 'avec'. Si cette instruction est une expression de table commune , une clause xmlnamespaces ou une clause de contexte de suivi , l'instruction précédente doit être terminée par un point-virgule .
Msg 102, niveau 15, état 1, ligne 21
Syntaxe incorrecte près de ')'.
Alors, comment diable puis-je faire cela ??
Et 'XMLNAMESPACES' doit d'abord être défini, avant tout 'CTE'. – Gabrielius