繁体   English   中英

Azure Synapse 无服务器 SQL 池错误:'DISTRIBUTION' 附近的语法不正确

[英]Azure Synapse Serverless SQL Pool Error: Incorrect syntax near 'DISTRIBUTION'

Azure Synapse Serverless SQL Pool 上的以下代码会出现以下错误:

“分发”附近的语法不正确。

SELECT CM.EntityName,
    --Before the first column of each table, construct a DROP TABLE statement if already exist
    CASE WHEN CM.OrdinalPosition = 1
        THEN 
        'DROP EXTERNAL TABLE MyTable' + '.' + 
        QUOTENAME(@EnrichedViewSchema) + '.' + CM.EntityName + '
        CREATE TABLE MyTable' + '.' +
        QUOTENAME(@EnrichedViewSchema) + '.' + CM.EntityName + '
        WITH
        (
        DISTRIBUTION = ROUND_ROBIN
        );
        AS
        SELECT DISTINCT '
        ELSE '  ,'
        END

有人可以查看代码并让我知道我可能哪里出错了吗?

Azure Synapse SQL Server 池错误:'DISTRIBUTION' 附近的语法不正确

CREATE TABLE MyTable' + '.' +
        QUOTENAME(@EnrichedViewSchema) + '.' + 
        CM.EntityName + '
        WITH
        (
        DISTRIBUTION = ROUND_ROBIN
        )
  • Serverless SQL pool是用来查询数据湖的,我们不能在里面建表。 我们只能在 Serverless SQL 池中创建外部表和临时表。
  • 此外,Distribution 仅适用于专用 SQL 池表。 因此,上面的 SQL 脚本是不可能的。

在此处输入图像描述 参考:Microsoft 文档Design tables using Synapse SQL 的屏幕截图 - Azure Synapse Analytics | 微软学习

脚本中的 AS 之前有一个额外的分号。

错误:CREATE TABLE XXX WITH(DISTRIBUTION=ROUND_ROBIN); 作为选择

正确:CREATE TABLE XXX WITH(DISTRIBUTION=ROUND_ROBIN) AS SELECT

暂无
暂无

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

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