У меня есть следующий вычисляемый столбец в функции создания таблицы:
Create table test
(
Code1 nchar(10),
Code2 nchar (10),
Type nchar(10),
Final AS CASE WHEN LEN(Code1)>0 THEN Code1 WHEN LEN(Code2)>0 THEN Code2 ELSE Type END
);
Alter table test
add constraint PK_Test1
Primary Key (Final)
Но я получаю следующую ошибку
«Невозможно определить ограничение PRIMARY KEY для столбца, допускающего значение NULL, в таблице».
Это связано с тем, что Code 1, Code 2 и Type могут быть NULL, но все три никогда не будут NULL. Один из них всегда будет иметь значение.
Могу ли я в любом случае определить вычисляемый столбец как первичный ключ с учетом вышеизложенного?
Большое спасибо - JT