jjzjj

sql - XML 数据作为历史记录

我在SQLServer中有一个XML列,我在其中存储属性的实际值和前一个值。例如。姓名Name2N2Name1N1如何显示属性的历史------------------------------------Attribute|NewValue|OldValue------------------------------------FirstName|Name2|Name1LastName|N2|N1------------------------------------属性可能会有所不同,并且可以具有单个元素(如性别)或多个元素(如名称或地址(addressLine1、城市、州、国家/地

sql-server - FOR XML ... TYPE 比 FOR XML 慢多少?

运行SQLServer2014。我有一个返回相当大的XML的存储过程。它是这样的:SELECT(...FORXMLPATH(N''),ROOT,TYPE现在,该查询在1秒内运行。如果我删除TYPE,它会在大约一半的时间内运行:SELECT(...FORXMLPATH(N''),ROOT显然,后者返回一个nvarchar(max)而不是xml。我想要xml数据,但如果我要求xml,它会变慢!如果我想在客户端获取xml数据,是否真的需要使用上面的TYPE指令将其转换为xml?问:无论如何,为什么FORXML...TYPE显着比FORXML...?有什么办法可以提高转化率吗?

xml - 在 SQLXML 中展平 XML

我在T-SQL中有这个XML:1AAB1900-01-01T10:21:002MAL1900-01-01T10:22:00我想将其作为表格检索:IndexFieldNameFieldValue------------------------------1Index11TypeA1CodeAB1Time1900-01-01T10:21:002Index22TypeM2CodeAL2Time1900-01-01T10:22:00当然,我在这里寻找的是将Element节点旋转成行,但我一次只能获得字段值或索引...select--r.value('.[1]','nvarchar(10)')V

SQL 从包含 xml 的 nvarchar 列中透视动态列

我得到了一个包含以下列和一些示例数据的表格:IDTitleFieldsXml[nvarchar(max)]--------------------------------1Ax1y12By2z23Cz3我需要查询它以获得这样的结果:IDTitleXYZ-------------1Ax1y12By2z23Cz3xml字段应该保证格式正确并且与模式匹配,即使它是nvarchar而不是xml类型。但是,无法提前知道Name属性的值。我正在使用SQLServer2008。如有必要,我可以使用存储过程,但我正在寻找一种可以避免这种情况并避免动态SQL的解决方案。写这样的查询是不可能的吗?如果存储

c# - 使用 OpenXml 插入 SQL

您好,我正在尝试使用XML文件将数据插入到SQLServer数据库中,该文件具有如下一些数据。我能够在OPENXML中进行属性映射。如果我尝试将XML作为元素而不是属性传递,我收到有关空插入的错误。以下是我的XML文件(包含属性)我使用上面的格式成功了。如果我使用下面的格式,我会遇到错误20CnPabnso@gmail.com12345513213这是我在SQL中的openXMLinsertinto@tempTableselect*fromopenxml(@xmlHandle,'ROOT/Customer/',1)with(Cust_idint'@id',Customer_Nameva

c# - XML 解析 : line 1, 字符 7,需要分号

在C#中运行此XMLSQL时发生错误。什么东西少了?它在SQLServerManagementStudio中运行良好,但在C#中运行不佳。protectedDataTableServiceCodes(stringorderColumn=default(string),boolorderAscending=true){stringsql=@"SELECTDISTINCT(Split.a.value('.','VARCHAR(100)'))ASDataFROM(SELECTCAST(''+REPLACE(Text09,',','')+''ASXML)ASDataFROMAssetsWHER

sql-server - 在sql server中读取XML重复标签

Declare@MainXmlXML=''我正在使用以下查询读取数据Declare@Innerxmlxml;SELECT@Innerxml=T.c.query('{/result/cash}')FROM@MainXml.nodes('result')T(c)SELECTResult.Claim.value('(./@number)[1]','varchar(max)')asC1,Result.Claim.value('(./@amt)[1]','varchar(max)')asC2,Result.Claim.value('(./@status)[1]','varchar(max)')a

c# - 我应该如何将 SqlXml 转换为 XmlText?

我正在读取一些以Xml格式存储在SQLServer数据库中的数据,我正在使用C#读取这些数据。我们在System.Xml中有一个名为XmlText的类型,但它不允许我将数据从SqlXml转换和存储到XmlText。我需要将XML格式的数据从数据库复制到某个对象,然后序列化该对象。然后我需要通过网络发送一组对象。这里的解决方案是什么? 最佳答案 最终,SqlXml和XmlText之间没有直接联系(事实上,XmlText只表示特定类型的节点,而不是xml).您将不得不下降到string或byte[]级别并再次备份(因为您没有使用流式阅读

XML 架构错误 : Required white space was missing

我已经为此搜索了几个小时,但无法找出问题所在。有人可以帮我解决这个问题吗?在VB.NET2010中执行SQLXMLBULKLOAD时出现上述错误。我尝试不断更改我的xml声明、我的架构属性,但无法克服此错误。这似乎是微不足道的,但我无法弄清楚。请帮忙--> 最佳答案 属性之间需要一个空格。就像第10行中的这个。应该是 关于XML架构错误:Requiredwhitespacewasmissing,我们在StackOverflow上找到一个类似的问题: https

sql - 使用 SQL XPATH 查询获取 XML 元素名称和属性值

给定一个XML类型的字符串,例如declare@xmlxmlSET@xml='10.002013CallVendor1-1-2013ShipNow2-2-2013'我想获取每个元素及其属性(如果有的话)。我想要的输出(没有重复)是ElementNameElementAttributePOAmountapprovedNoteinstruction我试过类似这行的代码SELECTT.doc.query('fn:local-name(.)')FROM@xml.nodes('PO//*[1]')AST(doc)这会带来重复项,我不确定如何选择属性值。我只需要第一次出现(即。GeneralNot