Для связывания правила со столбцом таблицы или пользовательским типом данных используется хранимая процедура sp_bindru1e со следующим синтаксисом:
sp_b1ndrule [@ru1ename =] "rule". [@objname =] "objectjname" [. [@futureonly =] "futureonlyjflag"]
Назначение параметров процедуры sp_bindrule соответствует назначению аналогичных параметров хранимой процедуры sp_bindef ault, описанной в предыдущем разделе.
Для «отвязывания» правила используется хранимая процедура sp_unbindrule: sp_unb1ndrule [@objname =] "object_name" [. [@futureonly =] "futureonly_flag"]
Для получения сведений о правиле (имени владельца и даты создания) используйте хранимую процедуру sp_hel p с указанием в качестве аргумента имени правила: sp_he1p "rule_name"
Для получения текста кода Transact-SQL, определяющего правило, используйте хранимую процедуру sp_helptext: sp_helptext "rule_name "
Для изменения имени правила используйте хранимую процедуру sp_rename: sp_rename @objname='rule_one' @newname='rule_two'
Управление умолчаниями
Умолчание (default) — это значение, которое будет присвоено столбцу таблицы при вставке строки, если в команде вставки явно не указано значение для этого столбца.
Как и правила, умолчания оставлены в SQL Server 2000 для обеспечения обратной совместимости с предыдущими версиями продукта (до версии SQL Server 7.0). Версия SQL Server 2000 позволяет задавать умолчания для столбцов таблицы или пользовательского типа данных при их создании, используя ключевое слово DEFAULT. Применение умолчаний и правил как отдельных объектов базы данных было вызвано невозможностью изменения таблиц до версии SQL Server 7.0. Было гораздо проще создать новое правило или умолчание, чем удалять таблицу и создавать ее заново. Так как версии SQL Server 7.0 и 2000 разрешают свободно изменять структуру таблиц, то надобность в правилах и умолчаниях как отдельных объектах отпала сама собой. Поэтому, если вы еще только создаете собственную базу данных, нет необходимости использовать устаревшие конструкции, подобные правилам и умолчаниям. К тому же нет абсолютно никакой гарантии, что Microsoft будет поддерживать эти объекты в следующих реализациях SQL Server, так что при использовании правил и умолчаний перед вами рано или поздно встанет вопрос об изменении структуры базы данных.
Сейчас мы рассматриваем умолчания, которые существуют в базе данных как самостоятельные объекты. Умолчания предоставляют удобный способ быстро назначать одинаковые значения по умолчанию множеству столбцов таблиц базы данных. Тем не менее задавать значения по умолчанию для столбцов рекомендуется, используя синтаксис команд CREATE TABLE и ALTER TABLE.
Созданное умолчание само по себе не выполняет никаких действий. Его необходимо связать с каким-нибудь столбцом таблицы или пользовательским типом данных. Тип данных умолчания должен соответствовать типу данных, установленному для столбца, с которым связывается умолчание.
Для создания умолчания используется следующая команда: CREATE DEFAULT default AS constant_expression
Здесь default— имя умолчания, a constant_express1on — его значение.
При выборе имени умолчания следует придерживаться установленных правил именования объектов. Кроме того, имя умолчания должно быть уникально для каждого владельца. Указание имени владельца умолчания при его создании не обязательно.
В качестве значения constant_expression можно использовать не только константы, но и любые математические выражения и встроенные функции. Строки символов и даты должны заключаться в одиночные кавычки. Перед бинарными данными должен указываться префикс Ох, а перед денежным типом — символ $. Если размер значения по умолчанию превышает размер, заданный для данных в столбце, выполняется усечение значения по умолчанию до требуемого размера.
Приведем пример создания текстового умолчания: CREATE DEFAULT default one AS "RIAC Industries"