繁体   English   中英

Azure 数据仓库中的“游标”和“FOR XML”子句

[英]"Cursor" and "FOR XML" clause in Azure data warehouse

在 Azure 数据仓库中创建存储过程时,“光标”和“FOR XML”出现错误。 所以想知道Azure数据仓库是否支持它们。 如果没有,那么有什么替代方案。

此处附有带有错误消息图片的示例代码。

在此处输入图像描述

在此处输入图像描述

Neither FOR XML or cursors are supported in Azure Synapse dedicated SQL pools (formerly known as Azure SQL Data Warehouse) as per the documentation . 对于游标,要么将它们转换为使用受支持的WHILE循环,要么重构代码以使用基于集合的方法。 另一种选择是使用外部的东西,比如 Azure 数据工厂或 Synapse 管道,并使用 For Each 循环。 另一种选择是使用附近的 Azure SQL DB 进行一些预处理。 您应该知道 Azure Synapse Analytics 的 MPP 架构不适合这种基于行的处理,您应该记住它是一个大数据平台,适用于大量数据、数百万、数十亿行和基于集合的数据方法应该是首选。

如果您只是使用FOR XML来执行那种低俗的字符串连接技巧,那么您应该使用STRING_AGG来代替,它在 Synapse 中完全受支持。 有关最近的示例,请参见此答案 如果您实际生产的是 XML,那么您将需要找到一种替代方法,例如附近的 Azure SQL DB。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM