Если в SQL Server есть столбцы, которые должны иметь одинаковый тип данных, можно ли определить проверочное ограничение на таблице (или уровне базы данных) и применить его к столбцу при его определении?
Как в этом (надуманном) примере:
ALTER TABLE dbo.tblAuditTrail
ADD CONSTRAINT CK_DecimalNumber
CHECK (DecimalColumn LIKE '^\-?\d+\.\d+$')
GO
Как теперь вы можете связать это с одним или несколькими столбцами, создавшими его на уровне таблицы, или ответом на это является использование RULE, а именно.
CREATE RULE RU_Decimal
AS
@value LIKE '^\-?\d+\.\d+$'
GO
Я знаю, что пример придуман, и можно использовать десятичный столбец для десятичных значений, но предположим, что из-за неправильного выбора дизайна это был столбец nchar, и вы хотели применить к нему некоторые ограничения.