sp_unbindrule (Transact-SQL)

Отменяет привязку правила к столбцу или псевдониму типа данных в текущей базе данных.

Важное примечаниеВажно!

В следующей версии Microsoft SQL Server этот компонент будет удален. Не используйте его при работе над новыми приложениями и как можно быстрее измените приложения, в которых он в настоящее время используется. Вместо этого рекомендуется создавать определения по умолчанию с помощью ключевого слова DEFAULT в инструкциях ALTER TABLE или CREATE TABLE.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Cинтаксические обозначения в Transact-SQL

Синтаксис

sp_unbindrule [ @objname = ] 'object_name' 
     [ , [ @futureonly = ] 'futureonly_flag' ]

Аргументы

  • [ @objname= ] 'object_name'
    Имя таблицы и столбца или псевдоним типа данных, для которого отменяется привязка правила. Аргумент object_name имеет тип nvarchar(776) и не имеет значения по умолчанию. SQL Server пытается вычислить по идентификаторам, состоящим из двух частей, сначала имена столбцов, а затем псевдонимы типов данных. При отмене привязки правила к псевдониму типа данных для всех столбцов этого типа данных, имеющих то же самое правило, также отменяется привязка. Столбцы этого типа данных с правилами, которые привязаны непосредственно к ним, не затрагиваются.

    Примечание

    Аргумент object_name может содержать квадратные скобки [] в качестве символов идентификатора с разделителем.Дополнительные сведения см. в разделе Идентификаторы баз данных.

  • [ @futureonly= ] 'futureonly_flag'
    Используется только при отмене привязки правила к псевдониму типа данных. Аргумент futureonly_flag имеет тип varchar(15) и значение по умолчанию NULL. Если аргумент futureonly_flag имеет значение futureonly, то существующие столбцы этого типа данных не теряют указанного правила.

Значения кода возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Для отображения текста правила выполните процедуру sp_helptext с именем правила в качестве аргумента.

При отмене привязки правила данные о ней удаляются из таблицы sys.columns, если правило было привязано к столбцу, и из таблицы sys.types, если правило было привязано к псевдониму типа данных.

Если отменяется привязка правила к псевдониму типа данных, то она отменяется и для всех столбцов, имеющих этот псевдоним. Правило может остаться привязанным к столбцами, типы данных которых были когда-то изменены с помощью предложения ALTER COLUMN инструкции ALTER TABLE. Для каждого такого столбца необходимо специально отменить привязку правила с помощью процедуры sp_unbindrule, указав имя столбца.

Разрешения

Чтобы отменить привязку правила к столбцу таблицы, требуется разрешение ALTER на таблицу. Чтобы отменить привязку правила к псевдониму типа данных, требуется разрешение CONTROL для типа или разрешение ALTER для схемы, которой тип принадлежит.

Примеры

А.Отмена привязки правила к столбцу

В следующем примере отменяется привязка правила к столбцу startdate таблицы employees.

EXEC sp_unbindrule 'employees.startdate';

Б.Отмена привязки правила к псевдониму типа данных

В следующем примере отменяется привязка правила к псевдониму типа данных ssn. Отмена производится как для существующих, так и для будущих столбцов этого типа.

EXEC sp_unbindrule ssn;

В.Использование futureonly_flag

В следующем примере отменяется привязка правила к псевдониму типа данных ssn, не затрагивая существующие столбцы типа ssn.

EXEC sp_unbindrule 'ssn', 'futureonly';

Г.Использование идентификаторов с разделителями

В следующем примере показано использование идентификаторов с разделителями в аргументе object_name .

CREATE TABLE [t.4] (c1 int); -- Notice the period as part of the table 
-- name.
GO
CREATE RULE rule2 AS @value > 100;
GO
EXEC sp_bindrule rule2, '[t.4].c1' -- The object contains two 
-- periods; the first is part of the table name and the second 
-- distinguishes the table name from the column name.
GO
EXEC sp_unbindrule '[t.4].c1';

См. также

Справочник

Системные хранимые процедуры (Transact-SQL)

Хранимые процедуры ядра СУБД (Transact-SQL)

CREATE RULE (Transact-SQL)

DROP RULE (Transact-SQL)

sp_bindrule (Transact-SQL)

sp_helptext (Transact-SQL)

Системные хранимые процедуры (Transact-SQL)