Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sqlserver中的XML值更新_Sql_Sql Server_Xml_Sql Server 2008 R2_Sqlxml - Fatal编程技术网

sqlserver中的XML值更新

sqlserver中的XML值更新,sql,sql-server,xml,sql-server-2008-r2,sqlxml,Sql,Sql Server,Xml,Sql Server 2008 R2,Sqlxml,有人能帮我处理这个表格吗?我想把页面大小从25改为5000 Select input_xml From create_report Where report_name='test report'; 上面的查询就是这个数据 input_xml <inputdata module="Vidoes"> <schedule enabled="true"> <recurrance> <time run="21:27"/> <

有人能帮我处理这个表格吗?我想把页面大小从25改为5000

Select input_xml 
From create_report 
Where report_name='test report';
上面的查询就是这个数据

input_xml
<inputdata module="Vidoes">
   <schedule enabled="true">
   <recurrance>
   <time run="21:27"/>
   <pattern type="Daily">
   <detail>9</detail>
   </pattern>
   <daterange start="13/05/2013 00:00:00" end="Never"/>
   </recurrance>
   <disk="true" toemails="true" custompathandname="" format="PDF"/>
   </schedule>
   <params>
   <param name="summary_detail">Enhanced</param>
   <param name="reportType">VideoXML</param>
   <param name="reportLabel">Todays Videos</param>
   <param name="pageSize">25</param>
   </params>
   </inputdata>
input\u xml
9
增强
可视XML
今日视频
25

如果
@data
是xml变量:

set @data.modify('
      replace value of (inputdata/params/param[@name="pageSize"]/text())[1]
      with 5000
')
如果要更新表,请执行以下操作:

update create_report set
input_xml.modify('
      replace value of (inputdata/params/param[@name="pageSize"]/text())[1]
      with 5000
')
where report_name='test report'

如果
@data
是xml变量:

set @data.modify('
      replace value of (inputdata/params/param[@name="pageSize"]/text())[1]
      with 5000
')
如果要更新表,请执行以下操作:

update create_report set
input_xml.modify('
      replace value of (inputdata/params/param[@name="pageSize"]/text())[1]
      with 5000
')
where report_name='test report'

如果
@data
是xml变量:

set @data.modify('
      replace value of (inputdata/params/param[@name="pageSize"]/text())[1]
      with 5000
')
如果要更新表,请执行以下操作:

update create_report set
input_xml.modify('
      replace value of (inputdata/params/param[@name="pageSize"]/text())[1]
      with 5000
')
where report_name='test report'

如果
@data
是xml变量:

set @data.modify('
      replace value of (inputdata/params/param[@name="pageSize"]/text())[1]
      with 5000
')
如果要更新表,请执行以下操作:

update create_report set
input_xml.modify('
      replace value of (inputdata/params/param[@name="pageSize"]/text())[1]
      with 5000
')
where report_name='test report'

值得注意的是,如果您只想将pageSize替换为25到5000,并且非常确定这不会破坏任何东西,那么将XML强制转换为nvarchar(max),而不是使用replace函数并将nvarchar(max)强制转换为XML,可以实现更快的查询

update create_report
set input_xml = cast(replace(cast(input_xml as nvarchar(max)), '<param name="pageSize">25</param>', '<param name="pageSize">5000</param>') as xml)
where report_name = 'test report'
更新创建报告
将input_xml=cast(替换(cast(input_xml作为nvarchar(max)),'25','5000')作为xml)
其中report_name=‘测试报告’

请记住,它更适合一次性更改,而不是使其成为经常使用的任务或存储过程,因为随着XML文件结构的变化,它很容易破坏某些东西,所以Roman Pekar的解决方案更安全。不过,这应该更快,所以如果时间很重要的话…

值得注意的是,如果您只想将pageSize替换为25到5000,并且非常确定这不会破坏任何东西,那么将XML强制转换为nvarchar(max),而不是使用replace函数并将nvarchar(max)强制转换为XML,可以实现更快的查询

update create_report
set input_xml = cast(replace(cast(input_xml as nvarchar(max)), '<param name="pageSize">25</param>', '<param name="pageSize">5000</param>') as xml)
where report_name = 'test report'
更新创建报告
将input_xml=cast(替换(cast(input_xml作为nvarchar(max)),'25','5000')作为xml)
其中report_name=‘测试报告’

请记住,它更适合一次性更改,而不是使其成为经常使用的任务或存储过程,因为随着XML文件结构的变化,它很容易破坏某些东西,所以Roman Pekar的解决方案更安全。不过,这应该更快,所以如果时间很重要的话…

值得注意的是,如果您只想将pageSize替换为25到5000,并且非常确定这不会破坏任何东西,那么将XML强制转换为nvarchar(max),而不是使用replace函数并将nvarchar(max)强制转换为XML,可以实现更快的查询

update create_report
set input_xml = cast(replace(cast(input_xml as nvarchar(max)), '<param name="pageSize">25</param>', '<param name="pageSize">5000</param>') as xml)
where report_name = 'test report'
更新创建报告
将input_xml=cast(替换(cast(input_xml作为nvarchar(max)),'25','5000')作为xml)
其中report_name=‘测试报告’

请记住,它更适合一次性更改,而不是使其成为经常使用的任务或存储过程,因为随着XML文件结构的变化,它很容易破坏某些东西,所以Roman Pekar的解决方案更安全。不过,这应该更快,所以如果时间很重要的话…

值得注意的是,如果您只想将pageSize替换为25到5000,并且非常确定这不会破坏任何东西,那么将XML强制转换为nvarchar(max),而不是使用replace函数并将nvarchar(max)强制转换为XML,可以实现更快的查询

update create_report
set input_xml = cast(replace(cast(input_xml as nvarchar(max)), '<param name="pageSize">25</param>', '<param name="pageSize">5000</param>') as xml)
where report_name = 'test report'
更新创建报告
将input_xml=cast(替换(cast(input_xml作为nvarchar(max)),'25','5000')作为xml)
其中report_name=‘测试报告’

请记住,它更适合一次性更改,而不是使其成为经常使用的任务或存储过程,因为随着XML文件结构的变化,它很容易破坏某些东西,所以Roman Pekar的解决方案更安全。但是,这应该更快,所以如果时间很重要的话…

这个查询会在您将xml存储到
ntext
列而不是
xml
之前给我出一个错误“操作数类型冲突:xml与ntext不兼容”。这通常是一个糟糕的想法,但如果您坚持使用它,您可以将我代码的第二行从
..作为xml)
更改为
..作为ntext)
。我的意思是“因为”,而不是“这个查询给我这个错误”之前的“操作数类型冲突:xml与ntext不兼容”这是在您将xml存储在
ntext
列之前,而不是在
xml
列中。这通常是一个糟糕的想法,但如果您坚持使用它,您可以将我代码的第二行从
..作为xml)
更改为
..作为ntext)
。我的意思是“因为”,而不是“这个查询给我这个错误”之前的“操作数类型冲突:xml与ntext不兼容”这是在您将xml存储在
ntext
列之前,而不是在
xml
列中。这通常是一个糟糕的想法,但如果您坚持使用它,您可以将我代码的第二行从
..作为xml)
更改为
..作为ntext)
。我的意思是“因为”,而不是“这个查询给我这个错误”之前的“操作数类型冲突:xml与ntext不兼容”这是在您将xml存储在
ntext
列之前,而不是在
xml
列中。这通常是一个糟糕的想法,但如果您坚持使用它,您可以将我的第二行代码从
..作为xml)
更改为
..作为ntext)
。我的意思是“因为”,而不是“之前”