У меня есть вычисляемый столбец на основе другого столбца, который я хочу использовать в качестве ПК. У меня он настроен таким образом, но при попытке создать внешние ключи он всегда утверждает, что у моего ПК есть другая длина типа данных. PK настроен следующим образом: (right ('000000' + CONVERT (nvarchar, [CaseNumber], 0), (6))) ... это не означает, что это то же самое, что и другое поле, NVARCHAR (50)?Вычисляемая колонка как PK
Я знаю, что могу просто удалить все мои отношения и использовать поле casenumber, которое является полем int (identity), но я бы не перекодировал все это.
@ Мартин хорошо, что странно! Когда я набираю (правый ('000000' + CONVERT ([nvarchar] (50), [CaseNumber], 0), (6))), он удаляет (50) после nvarchar. Я уже сделал это таким образом. – korrowan
Но вы запускаете его через 'RIGHT (, 6)' после 'nvarchar (50)' cast и который возвращает 'nvarchar (6)' –
@Martin фактический код, который я использовал, является следующим: GO USE newCityCollection ALTER TABLE [dbo]. [PropertyInformation] ADD [CaseNumberKey] AS RIGHT ('000000' + CAST (CaseNumber AS NVARCHAR (50)), 6) ПЕРЕСМОТРЕННАЯ НЕ NULL GO – korrowan