こんにちは、
TSQL 変数を使用して XML 属性を削除したいと考えています。これは最小限の作業例 (TSQL コード) です。
DECLARE @xml XML;
SET @xml = CONVERT(XML, N'
<recipe>
<parameters>
<parameter name="a" desc="A">ValueA</parameter>
<parameter name="b" desc="B">ValueB</parameter>
<parameter name="c" desc="C">ValueC</parameter>
</parameters>
</recipe>
');
SET @xml.[modify]('delete (/recipe/parameters/parameter/@desc)');
SELECT @xml;
これにより、目的の出力が得られます。すべての属性「desc」が削除されています。
<recipe>
<parameters>
<parameter name="a">ValueA</parameter>
<parameter name="b">ValueB</parameter>
<parameter name="c">ValueC</parameter>
</parameters>
</recipe>
ただし、TSQL 変数を定義したい
DECLARE @attr NVARCHAR(MAX) = N'desc';
これを XQuery の変更操作に渡すにはどうすればよいですか? XML DML 内でsql:variable("@attr")を使用できますが、それを使用して属性を指定するにはどうすればよいですか?
助けてくれてありがとう!