В SQL Server предполагается, что у столбцов, которые должны иметь один и тот же тип данных, можно определить ограничение проверки в таблице (или уровне базы данных) и применить это к столбцу при его определении?Reusing CHECK CONSTRAINTS
Как в этом (надуманный) Например:
ALTER TABLE dbo.tblAuditTrail
ADD CONSTRAINT CK_DecimalNumber
CHECK (DecimalColumn LIKE '^\-?\d+\.\d+$')
GO
Как же теперь вы можете связать это с один или несколько столбцов, создав его на уровне таблицы или является ответом на это, чтобы использовать правило именно.
CREATE RULE RU_Decimal
AS
@value LIKE '^\-?\d+\.\d+$'
GO
Я знаю, что пример надуманный и один будет использовать десятичную столбец для десятичных значений, но предположим, из-за плохой выбор дизайна, что это был NCHAR столбец и вы хотите, чтобы обеспечить соблюдение некоторых ограничений на него.
Daniel, Большое спасибо за это. Кажется, жаль, что правила устарели, но это жизнь в ИТ, я думаю :-) Я возьму и адаптирую ваше предложение - огромное спасибо! – noonand
Это будет работать, но производительность скалярных UDF ужасна. –