XMLタグの値を置き換える際に助けが必要です。私はこれを正しく理解していれば、あなたが置くことによって名称「V_userId」の要素にアクセスしようとしているSQL XMLの置き換え
.../@l_s_DrillBtColumnTag))[1]
:
declare @l_runtime_xml XML
declare @l_n_DrillRepID numeric(10)
declare @griddrillparam nvarchar(30)
declare @l_s_DrillBtColumnTag nvarchar(256)
declare @l_s_BTNameSecond nvarchar(30)
set @l_n_DrillRepID =1538
set @griddrillparam = 'userID'
set @l_s_DrillBtColumnTag = 'V_userID'
set @l_s_BTNameSecond = 'l_s_userID'
declare @l_runtime_xmlAAA nvarchar(max)
set @l_runtime_xmlAAA = N'<REPORT_RUNTIME_XML><USER_ID>AISHU</USER_ID><SHEET><SHEET_NO>1</SHEET_NO><DRILLTHRU_PARAM><ENT_RPT><ENT_RPT_ID>1537</ENT_RPT_ID><ENT_RPT_NAME>Reddy111</ENT_RPT_NAME><DEFAULT>1</DEFAULT><CRITERIA><DISPLAY/><HIDDEN/></CRITERIA><COLUMN_HEADER>N</COLUMN_HEADER><DISPLAY_BUTTON>N</DISPLAY_BUTTON><PARAMLIST><PARAM><COLTYPE/><POSITION>-999</POSITION><BT_COLUMN_NAME/><NAME>userID</NAME><BT_NAME/><V_userID>(none)</V_userID></PARAM><PARAM><COLTYPE/><POSITION>-999</POSITION><BT_COLUMN_NAME/><NAME>langID</NAME><BT_NAME/><V_langID>(none)</V_langID></PARAM><PARAM><COLTYPE/><POSITION>-999</POSITION><BT_COLUMN_NAME/><NAME>l_s_userID</NAME><BT_NAME/><V_l_s_userID>(none)</V_l_s_userID></PARAM><PARAM><COLTYPE/><POSITION>-999</POSITION><BT_COLUMN_NAME/><NAME>a_i_langID</NAME><BT_NAME/><V_a_i_langID>(none)</V_a_i_langID></PARAM></PARAMLIST></ENT_RPT><ENT_RPT><ENT_RPT_ID>1538</ENT_RPT_ID><ENT_RPT_NAME>Reddy333</ENT_RPT_NAME><DEFAULT>0</DEFAULT><CRITERIA><DISPLAY/><HIDDEN/></CRITERIA><COLUMN_HEADER>N</COLUMN_HEADER><DISPLAY_BUTTON>N</DISPLAY_BUTTON><PARAMLIST><PARAM><COLTYPE/><POSITION>-999</POSITION><BT_COLUMN_NAME/><NAME>userID</NAME><BT_NAME/><V_userID>(none)</V_userID></PARAM><PARAM><COLTYPE/><POSITION>-999</POSITION><BT_COLUMN_NAME/><NAME>langID</NAME><BT_NAME/><V_langID>(none)</V_langID></PARAM><PARAM><COLTYPE/><POSITION>-999</POSITION><BT_COLUMN_NAME/><NAME>l_s_userID</NAME><BT_NAME/><V_l_s_userID>(none)</V_l_s_userID></PARAM><PARAM><COLTYPE/><POSITION>-999</POSITION><BT_COLUMN_NAME/><NAME>a_i_langID</NAME><BT_NAME/><V_a_i_langID>(none)</V_a_i_langID></PARAM></PARAMLIST></ENT_RPT></DRILLTHRU_PARAM></SHEET></REPORT_RUNTIME_XML>'
select @l_runtime_xml = cast(@l_runtime_xmlAAA as XML)
SET @l_runtime_xml.modify('replace value of ((//SHEET/DRILLTHRU_PARAM/ENT_RPT[(ENT_RPT_ID/text())[1] eq sql:variable("@l_n_DrillRepID")]/PARAMLIST/PARAM[(NAME/text())[1] eq sql:variable("@griddrillparam")]/@l_s_DrillBtColumnTag))[1] with sql:variable("@l_s_BTNameSecond")')
set @l_runtime_xmlAAA = cast(@l_runtime_xml as nvarchar(max))
select @l_runtime_xmlAAA
をしたりしますか? – user1587872
あなたは言葉とで置き換える必要なロジックを説明していただけますそれは間違っています。そして、はい、それは最後のノードを削除することは可能です。あなたは答えたいですか、削除イオンまたは交換品 –
ありがとう@PhilB。主に私は交換が必要でした。そして私はそれをする方法を得た。私は代わりとして削除を求めていました。 – user1587872