1
我有一個基於另一列的計算列,我想用它作爲PK。我已經設置了這種方式,但是當試圖創建外鍵時,它總是聲稱我的PK具有不同的數據類型長度。 PK的設置如下:(right('000000'+ CONVERT(nvarchar,[CaseNumber],0),(6)))...這並不意味着它與另一個字段設置爲相同爲nvarchar(50)?計算列爲PK
我知道我可以刪除我所有的關係,並使用casenumber字段這是一個int(身份)字段,但我寧願不重新編碼所有這些。
@Martin那真是奇怪!當我輸入('000000'+ CONVERT([nvarchar](50),[CaseNumber],0),(6)))時,它刪除nvarchar後面的(50)。我已經這樣做了。 – korrowan 2011-05-06 17:14:29
但是你在'nvarchar(50)'cast之後通過'RIGHT(,6)'運行它並返回'nvarchar(6)' – 2011-05-06 17:15:55
@Martin我使用的實際代碼如下:GO USE newCityCollection ALTER TABLE [dbo]。[PropertyInformation] ADD [CaseNumberKey] AS RIGHT('000000'+ CAST(CaseNumber AS NVARCHAR(50)),6)PERSISTED NOT NULL GO – korrowan 2011-05-06 17:16:16