Suite a la discussion sur l'acces aux donnees dans un champs XML :
http://www.developpez.net/forums/d77...es-xml-champs/
Je souhaite calculer une decrementation et la reinserer dans le champs XML, pour se faire j'ai trouve des elements de reponse du cote de XMLQuery et XQuery mais comme d'habitude SQL Server est pointilleux. Si quelqu'un peut m'aider une fois de plus...
Voici la requete que j'ai cree :
1 2 3
| UPDATE maTable
SET monChampsXML = XMLQUERY('replace value of node monChampsXML//Caracteristiques[@name="NombreDeDoigts"]/@value with 9')
WHERE identifiant='95'; |
Identifiant etant un autre champs de ma table servant de cle primaire.
Mais il me fait l'erreur suivante :
'XMLQUERY' is not a recognized built-in function name.
#################################################
EDIT
Ok j'ai fais quelques modifications apres consultation d'un autre site :
Requete :
1 2 3 4 5 6 7
| UPDATE maTable
SET monChampsXML = XMLQUERY('
transform
copy $target := $i
modify do replace value of node $target/Personne/Caracteristiques[@name="NombreDeDoigts"]/@value with 9
return $target' PASSING (select monChampsXML from maTable where identifiant = '95') as "i")
WHERE identifiant='95'; |
Mais il produit une erreur du type :
1 2 3 4
| Msg 102, Level 15, State 1, Line 5
Incorrect syntax near 'PASSING'.
Msg 156, Level 15, State 1, Line 5
Incorrect syntax near the keyword 'as'. |
Need some help please !
Partager