我不確定以下SQL有什麼問題。 我曾經有一個基於customer_reference_no的主鍵。 他們現在有一些重複的東西,所以我創建了一個名爲uniquePoint的列,它是customer_no,customer_reference_no和stop_zip的組合。Azure上的SQL - 使用計算列作爲主鍵索引
以下工作正常:
CREATE TABLE [dbo].[stop_address_details] (
[customer_no] NCHAR (5) NOT NULL,
[customer_reference_no] VARCHAR (20) NOT NULL,
[stop_name] VARCHAR (40) NOT NULL,
[stop_address] VARCHAR (40) NULL,
[stop_city] VARCHAR (30) NULL,
[stop_state] CHAR (2) NULL,
[stop_zip] VARCHAR (10) NULL,
[point_no] VARCHAR (20) NULL,
[branch_id] VARCHAR (6) NULL,
[delivery_route] VARCHAR (10) NULL,
[dateTimeCreated] DATETIME NULL,
[dateTimeUpdated] DATETIME NULL,
[estimated_delivery_time] TIME (0) NULL,
[est_del_time] DATETIME NULL,
[dateTimeLastUsedInDatatrac] DATETIME NULL,
[uniquePoint] as customer_no + '_' + customer_reference_no + '_' + stop_zip PERSISTED ,
CONSTRAINT [AK_stop_address_details_customer_reference_no] UNIQUE NONCLUSTERED ([customer_reference_no] ASC),
CONSTRAINT [PK_stop_address_details] PRIMARY KEY ([uniquePoint])
但是當我刪除約束的customer_reference_no我得到以下錯誤: SQL71516 ::被引用的表 '[DBO] [stop_address_details]' 不包含主要或與外鍵中引用列表匹配的候選鍵。如果被引用的列是一個計算列,它應該被保留。
我正在引用計算列,並且它是持久的。
不確定缺少什麼?
謝謝
喬