SQL Server 中“CREATE TABLE table AS”中的“分发选项”错误
Posted
技术标签:
【中文标题】SQL Server 中“CREATE TABLE table AS”中的“分发选项”错误【英文标题】:"Distribution Option" error in "CREATE TABLE table AS" in SQL Server 【发布时间】:2021-10-03 07:24:21 【问题描述】:我在使用 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】:正如错误消息所说,您必须使用 CTAS 指定 Distributed table design 选项,例如来自文档:
CREATE TABLE [dbo].[FactInternetSales_new]
WITH
(
DISTRIBUTION = ROUND_ROBIN
,CLUSTERED COLUMNSTORE INDEX
)
AS
SELECT *
FROM [dbo].[FactInternetSales];
CREATE TABLE AS SELECT
【讨论】:
还有一些关于分发的有用文档:docs.microsoft.com/en-us/azure/synapse-analytics/…以上是关于SQL Server 中“CREATE TABLE table AS”中的“分发选项”错误的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL Server 中,如何为给定表生成 CREATE TABLE 语句?
SQL Server - 你可以在 CREATE TABLE 中添加字段描述吗?
Access 可以像 SQL Server 一样生成 CREATE TABLE 脚本代码吗?
sql server create table 给字段添加注释说明