В SQL Server 2005 возможно создать вычисленный столбец, который сохраняется и определяется как NOT NULL (не может содержать нулевое значение). Второй атрибут имеет важное значение при использовании библиотек, таких как Linq2Sql, если мы хотим избежать много ручной работы, чтобы гарантировать, что наш код будет иметь значение "всегда".
С прямым SQL это очень просто: ALTER TABLE Sales ADD Total AS (Price + Taxes) PERSISTED NOT NULL
При просмотре в окне дизайна студии SQL Server Management этот столбец корректно отображается как вычисленный столбец без флажка "Разрешает nulls". Однако я столкнулся с проблемой создания новых столбцов в дизайнере для соответствия этому шаблону: формула вводится в свойство Computed Column Specification → (Formula), а сохраняемое свойство задается установкой Is Persisted на Yes, но попытка снять отметку 'allow nulls' в новом вычисляемом столбце приводит к диалогу, в котором указано, что свойство не может быть изменено.
Мне нужно охватить широкий диапазон уровней навыков, и для этого мне нужно предоставить процедуры для добавления столбцов, которые могут следовать даже новичку (что означает окно дизайнера Management Studio). Есть ли какой-то секрет в SQL Server Management Studio для создания нового расчетного столбца как NOT NULL в дизайнере, аналогично тому, как CTRL + 0 можно использовать для вставки нулей в ячейки?