Правила (Transact-SQL)[1] являются многоразовыми, что позволило преодолеть недостаток невозможности повторного использования проверочных ограничений.
И вот я прочитал [1], что:
- «Эта функция будет удалена в будущей версии Microsoft SQL Server. Избегайте использования этой функции в новых разработках и планируйте изменение приложений, которые в настоящее время используют эту функцию. Вместо этого мы рекомендуем использовать проверочные ограничения. Проверочные ограничения создаются с помощью ключевое слово CHECK CREATE TABLE или ALTER TABLE"
Итак, что вместо правил и почему они устарели?
==== Обновление:
AlexKuznetsov, ограничения проверки на уровне таблицы ужасно медленные?
Или ограничения проверки на уровне таблицы с использованием функций медленнее по сравнению с ограничениями проверки на уровне столбца и соотв. правила как их эквиваленты (поскольку правила только на уровне столбца)?
Другими словами, равны ли ограничения и правила проверки на уровне столбца (неявно являющиеся только уровнем столбца) по производительности?
Тогда я вижу только удаление функции повторного использования. Использование ограничений уровня таблицы, не допускающих повторного использования, присутствовало и раньше.
Кроме того, мне больше интересно знать, почему и чего ожидать дальше, чем знать, как реализовать пользовательские замены устаревших системных функций, используя старые функции, которые всегда были доступны раньше.
[1]
Онлайн-книги по MS SQL Server 2008 R2. СОЗДАТЬ ПРАВИЛО (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms188064.aspx
[w]e recommend that you use check constraints instead. Check constraints are created by using the CHECK keyword of CREATE TABLE or ALTER TABLE
- person LittleBobbyTables - Au Revoir   schedule 01.10.2010