问题标签 [for-xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
864 浏览

sql-server-2000 - sql server 2000 和 xml 显式

我在 SQL Server 2000 中显式使用 for xml 时遇到问题(所以我不能使用 sql 2005/8 中的新 path() 东西)

基本上我有两个表,我想要的 XML 结构是

也就是table_1和table_2是一对多的关系,我想做一个层次结构。

到目前为止,我似乎无法得到它,我设法得到的最接近的是 table1 中的所有记录,table2 中的所有记录都附加到 table1 的最后一个元素

对于建立这种关系的任何帮助将不胜感激。

-马尔辛

0 投票
3 回答
449 浏览

sql-server - 此查询中的行连接

我有这个查询:

返回此结果集:

我想为每个 EDIFICIOS_ID 连接来自 TITULAR 的值,所以我得到了这个:

我正在尝试使用FOR XML PATH 技巧。我过去曾使用过它,但由于我无法真正理解它是如何工作的,因此我无法弄清楚如何将它应用于这种特定情况。你能给我一些想法吗?

0 投票
1 回答
6349 浏览

sql-server - t-sql 最有效的行到列?xml 路径的交叉表,枢轴

我正在寻找将行转换为列的最高效方法。我需要以固定宽度和分隔格式输出数据库的内容(不是下面的实际模式,但概念相似)。下面的 FOR XML PATH 查询给出了我想要的结果,但是在处理除少量数据之外的任何内容时,可能需要一段时间。

我已经查看了 pivot 但我发现的大多数示例都是聚合信息。我只想合并子行并将它们附加到父行上。

我还应该指出,我也不需要处理列名,因为子行的输出要么是固定宽度的字符串,要么是分隔的字符串。

例如,给定下表:

对于我需要输出的订单:

或者

想法或建议?我正在使用 SQL Server 2k5。

示例设置:

使用 FOR XML 路径:

它输出我想要的东西,但是对于大量数据来说非常慢。其中一个子表超过 200 万行,将处理时间推迟到 4 小时左右。

0 投票
1 回答
285 浏览

sql-server-2005 - 针对同义词使用 FOR XML AUTO

我们刚刚切换到链接服务器的同义词,并注意到我们的 FOR XML 输出不再正确。当从视图返回 XML 结果时,我们可以为视图设置别名,并将其分配为元素名称。但是,对于同义词,它似乎忽略了别名?我们仍然主要使用 SQL 2005 - 这个错误似乎不会发生在我们的 2008 实例上。这是一个已知问题,以及解决方法的任何想法?

例如,这是我们过去能够做到的:

这就是同义词发生的情况:

如您所见,SQL Server 似乎使用实际引用对象的名称而不是别名。这对于跨服务器查询变得更糟,因为您获得的是四部分名称而不是漂亮的别名。(例如:<rick_server.rick_database.dbo.Numbers number="0"/>...)

0 投票
2 回答
3542 浏览

entity-framework - 调用 FOR XML 存储过程的实体框架在 2033 个字符处截断

我有一个存储过程,它在其末尾使用 FOR XML 语句,并返回一些 XML。

我正在使用 .NET 4 和实体框架,当我对此存储过程进行函数导入并尝试通过实体框架调用它时,它会在 2033 个字符处截断返回。

我将实体框架换成传统的 ADO.NET 方法来调用具有相同问题的存储过程 - 在 2033 个字符处截断 - 这是当我遇到以下 MSDN 文章时,解释这是设计使然并使用“ExecuteXMLReader " 克服它的方法:

http://support.microsoft.com/kb/310378

所以这现在作为一个临时修复工作,但我想使用实体框架函数导入,所以我没有将 ADO.NET 代码与 EF 代码混合。

有什么方法可以在 EF 中使用函数导入、返回 XML 并克服 2033 个字符的限制?

问候
bgs264

0 投票
1 回答
5413 浏览

sql - 无法将“WITH XMLNAMESPACES...FOR XML PATH”的输出设置为变量?

我有如下查询:

运行这个工作正常。但是,当我尝试将 XML 输出设置为这样的变量时遇到了麻烦:

这只是给我一个语法错误:-(关于如何实现这一点的任何想法将不胜感激。

0 投票
1 回答
121 浏览

sql-server - 如何让 Sql Server 2K8 R2 在不使用兼容模式的情况下返回此 xml

我们正在将我们的 sql server 升级到 2K8 R2 并且 FOR XML AUTO 查询的输出已经改变。

查询从三个表中输出列

结果集返回三行,每列相同,最后两列来自第三个表。用于显示的结果如下

它没有显示

我一直在尝试使用 For XML Path,但它仍然返回 element1 的 3 个单独实例,而不是对数据进行分组。

0 投票
2 回答
7981 浏览

sql - 在 SQL Server 中使用 FOR XML PATH 查询以获取分层数据的 XML 输出

我有一个包含 NodeId、NodeName、ParentNodeId 列的表,我想使用 SQL 查询以 Xml 的形式输出整个表数据,如下所示。我认为 Sql server 中的 FOR XML PATH 模式可以使用递归来实现这一点(我使用 SQL Server 2008),但不确定如何。提前致谢

0 投票
1 回答
234 浏览

sql-server - 如何让“select for xml”输出到多个文件?

我们的客户抱怨我们的出口文件太长;他们希望我们将导出文件拆分为多个文件,每个文件不超过“n”条记录。有没有办法用“select for xml”来做到这一点</p>

目前我们正在为这个项目使用 Sql Server 2005。

(如果这太难了,我可以随时对单个大文件进行后期处理以将其拆分)

0 投票
3 回答
3064 浏览

tsql - 如何将 CTE 与 FOR XML 子句结合使用?

我正在尝试生成一些具有各种嵌套级别的 XML,并且冒着过度简化的风险,输出 XML 的格式将松散:

我为此继承的数据库架构恰好将费用存储在不同的表中,这意味着附加费的存储方式根据费用来源的表而不同。

鉴于您不能将UNIONs 与 一起使用FOR XML,我UNION在 CTE 中进行了一些操作,因此类似于:

现在,这非常接近,给出(注意嵌套<surcharge>):

但是我需要找到一种方法来让最终查询包含要被视为元素内容而不是新元素的 XML 列的值。这是可能的,还是我需要采取新的方法?