简体   繁体   English

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

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

The following code on Azure Synapse Serverless SQL Pool gives the following error: Azure Synapse Serverless SQL Pool 上的以下代码会出现以下错误:

Incorrect syntax near 'DISTRIBUTION'. “分发”附近的语法不正确。

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

Can someone look at the code and let me know where I might going wrong?有人可以查看代码并让我知道我可能哪里出错了吗?

Azure Synapse SQL Server Pool Error: Incorrect syntax near 'DISTRIBUTION' Azure Synapse SQL Server 池错误:'DISTRIBUTION' 附近的语法不正确

CREATE TABLE MyTable' + '.' +
        QUOTENAME(@EnrichedViewSchema) + '.' + 
        CM.EntityName + '
        WITH
        (
        DISTRIBUTION = ROUND_ROBIN
        )
  • Serverless SQL pool is used to query over the data lake, and we cannot create tables in it. Serverless SQL pool是用来查询数据湖的,我们不能在里面建表。 We can create external tables and temporary tables only in serverless SQL pool.我们只能在 Serverless SQL 池中创建外部表和临时表。
  • Also, Distribution is applicable only for dedicated SQL pool tables.此外,Distribution 仅适用于专用 SQL 池表。 Therefore, above SQL script is not possible.因此,上面的 SQL 脚本是不可能的。

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

there is an additional semicolon before AS in your script.脚本中的 AS 之前有一个额外的分号。

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

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

暂无
暂无

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

相关问题 Azure Synapse Serverless SQL 池无法连接但可以连接到专用 SQL 池? - Azure Synapse Serverless SQL Pool Unable to Connect BUT Can connect to Dedicated SQL Pool? Azure Synapse SQL 内置无服务器池上的复制数据库不允许执行 CREATE EXTERNAL FILE FORMAT 操作 - Operation CREATE EXTERNAL FILE FORMAT is not allowed for a replicated database on Azure Synapse SQL Built-in Serverless Pool 无法连接到Azure SQL数据仓库数据库-错误“ ANSI_NULLS附近的语法不正确” - Cannot connect to Azure SQL Data Warehouse database-error “Incorrect syntax near 'ANSI_NULLS'” Azure Synapse 无服务器池数据库错误:超出锁定请求超时时间错误:1222 - Azure Synapse Serverless Pool Database Error: Lock request time out period exceeded Error:1222 如何删除 Azure Synapse 无服务器池中所有表的第一行 - How to Delete First Row of All Tables in Azure Synapse Serverless Pool 在 Azure Synapse 无服务器池中创建外部表时如何确保选择第一行 - How to Ensure First Row is Selected when Creating an External Table in Azure Synapse Serverless Pool SQL数据仓库:'OFFSET'附近的语法不正确 - SQL Data warehouse: Incorrect syntax near 'OFFSET' 无法在 Azure SQL 无服务器池上使用 SSMS 版本 18.4 编写表脚本 - Unable to Script Table with SSMS version 18.4 on Azure SQL Serverless Pool 将计算实例添加到 Azure Synapse(专用池) - Adding compute instance to Azure Synapse (dedicated pool) Azure SQL DW 超大规模和 Azure Synapse 的路线图 - Roadmap for Azure SQL DW Hyperscale and Azure Synapse
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM