在SQL Server中使用 "CREATE TABLE table AS" 时出现 "Distribution Option" 错误。

3

我在使用CREATE TABLE AS时遇到了问题。我在数据库中创建了三个表格。我的目的是根据保单号码连接这些表格,然后创建一个新的表格。

CREATE TABLE [dbo].[New_Customer_Segmentation_Data] AS 
( 
SELECT *
FROM [dbo].[CustomerSegmentation_updated]
INNER JOIN [dbo].[DimLapse]
ON [dbo].[CustomerSegmentation_updated].[PolicyNumber] = [dbo].[DimLapse].[Policy Number] 
INNER JOIN [dbo].[dimclaim]
ON [dbo].[DimLapse].[Policy Number]  = [dbo].[dimclaim].[POLICYNUMBER]
)

它返回错误信息:"'Distribution'选项必须在“CREATE TABLE AS SELECT”和“CREATE MATERIALIZED VIEW”语句中明确指定。" 有人可以指导我如何解决这个错误吗?
1个回答

3

就像错误信息所说的那样,你必须在 CTAS 中指定一个分布式表设计选项,例如从文档中:

CREATE TABLE [dbo].[FactInternetSales_new]
WITH
(
 DISTRIBUTION = ROUND_ROBIN
 ,CLUSTERED COLUMNSTORE INDEX
)
AS
SELECT  *
FROM    [dbo].[FactInternetSales];

创建表格并选择数据


1
以下是有关分发的一些有用文档:https://learn.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-distribute - Joel Cochran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接