文档中显示的 sql 代码不是 运行 on azure synapse dedicate sql pool
The sql codes shown in the document is not running on azure synapse dedicate sql pool
我有以下link
当我复制粘贴以下语法时
-- Create DimProductCategory PK
ALTER TABLE [dbo].[DimProductCategory] WITH CHECK ADD
CONSTRAINT [PK_DimProductCategory_ProductCategoryKey] PRIMARY KEY CLUSTERED
(
[ProductCategoryKey]
) ON [PRIMARY];
GO
语法WITH CHECK ADD
无效。此外,文档中的许多语法都不起作用,想知道为什么它不适用于 sql 池。 azure 是否有替代方法或与此相关的任何其他文档。
该语法不适用于 Azure Synapse Analytics 专用 SQL 池,您将收到以下错误:
Msg 103010, Level 16, State 1, Line 1 Parse error at line: 2, column:
40: Incorrect syntax near 'WITH'.
Msg 104467, Level 16, State 1, Line 1 Enforced unique constraints are
not supported. To create an unenforced unique constraint you must
include the NOT ENFORCED syntax as part of your statement.
编写此语法的方法是使用 ALTER TABLE
添加非集群和非强制主键,例如
ALTER TABLE [dbo].[DimProductCategory]
ADD CONSTRAINT [PK_DimProductCategory_ProductCategoryKey]
PRIMARY KEY NONCLUSTERED ( [ProductCategoryKey] ) NOT ENFORCED;
然而,由于此 table 是一个维度,我还建议将其分布更改为 REPLICATE
,您必须在 table 定义中执行此操作。所以整个语句应该是这样的:
CREATE TABLE [dbo].[DimProductCategory](
[ProductCategoryKey] [int] IDENTITY(1,1) NOT NULL UNIQUE NOT ENFORCED,
[ProductCategoryAlternateKey] [int] NULL,
[EnglishProductCategoryName] [nvarchar](50) NOT NULL,
[SpanishProductCategoryName] [nvarchar](50) NOT NULL,
[FrenchProductCategoryName] [nvarchar](50) NOT NULL
)
WITH (
DISTRIBUTION = REPLICATE,
CLUSTERED INDEX( [ProductCategoryKey] )
)
在实验室中转换其余语法对您来说将是一个很好的练习。外键也不行。
我有以下link
当我复制粘贴以下语法时
-- Create DimProductCategory PK
ALTER TABLE [dbo].[DimProductCategory] WITH CHECK ADD
CONSTRAINT [PK_DimProductCategory_ProductCategoryKey] PRIMARY KEY CLUSTERED
(
[ProductCategoryKey]
) ON [PRIMARY];
GO
语法WITH CHECK ADD
无效。此外,文档中的许多语法都不起作用,想知道为什么它不适用于 sql 池。 azure 是否有替代方法或与此相关的任何其他文档。
该语法不适用于 Azure Synapse Analytics 专用 SQL 池,您将收到以下错误:
Msg 103010, Level 16, State 1, Line 1 Parse error at line: 2, column: 40: Incorrect syntax near 'WITH'.
Msg 104467, Level 16, State 1, Line 1 Enforced unique constraints are not supported. To create an unenforced unique constraint you must include the NOT ENFORCED syntax as part of your statement.
编写此语法的方法是使用 ALTER TABLE
添加非集群和非强制主键,例如
ALTER TABLE [dbo].[DimProductCategory]
ADD CONSTRAINT [PK_DimProductCategory_ProductCategoryKey]
PRIMARY KEY NONCLUSTERED ( [ProductCategoryKey] ) NOT ENFORCED;
然而,由于此 table 是一个维度,我还建议将其分布更改为 REPLICATE
,您必须在 table 定义中执行此操作。所以整个语句应该是这样的:
CREATE TABLE [dbo].[DimProductCategory](
[ProductCategoryKey] [int] IDENTITY(1,1) NOT NULL UNIQUE NOT ENFORCED,
[ProductCategoryAlternateKey] [int] NULL,
[EnglishProductCategoryName] [nvarchar](50) NOT NULL,
[SpanishProductCategoryName] [nvarchar](50) NOT NULL,
[FrenchProductCategoryName] [nvarchar](50) NOT NULL
)
WITH (
DISTRIBUTION = REPLICATE,
CLUSTERED INDEX( [ProductCategoryKey] )
)
在实验室中转换其余语法对您来说将是一个很好的练习。外键也不行。