Probleme: Mon probleme est que je ne parviens pas à passer des parametres à une variable xml avec xpath.

Situation: je veux executer une procedure stockee qui prend en entree 4 variables et qui me permettra de modifier la valeur de l'attribut @name de mon extrait xml @dt.
@AnVal represente l'ancienne valeur de l'attribut @name
et @NouvVal represente la nouvelle valeur.

Voici mon extrait xml @dt :
<user name="uriel" type="root" folder-id="root">
<folder name="Mes" type="." folder-id="root\." />
<folder name="Nouveaux documents" type="recent" folder-id="root\recent" />
<folder name="Travail" type="user" folder-id="root\Travail" />
<folder name="Public" type="public" folder-id="root\Public" />
</user>
Voici la requete xpath:
set @dt.modify('replace value of (/user/folder[@name =@AnVal ]/@name)[1] with @NouvVal ')


Voici la procedure stockee avec la requete xpath:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
ALTER PROCEDURE [dbo].[modify_folders]
(
	@id_user int, @dt xml, @AnVal NVarChar(50), @NouvVal NVarChar(50) 
)
 
AS	-- la fonction XQuery modify affecte une partie seulement de l'extrait XML
  set @dt.modify('replace value of (/user/folder[@name =@AnVal ]/@name)[1] with @NouvVal ')
  -- mettre a jour la table User
  update dbo.[user] set
  user_folders=@dt
  where id_user=@id_user
RETURN

Probleme ciblé: Le passage de parametre @name =@AnVal ne marche pas, ainsi que l affectation de la nouvelle valeur @NouvVal .


J'espère m'etre fais comprendre...
Aidez-moi s'il vous plait.