Поделиться через


sp_unbindefault (Transact-SQL)

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

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

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

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

Синтаксис

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

Аргументы

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

    При отмене привязки для псевдонима типа данных привязка также отменяется для всех столбцов этого типа данных, имеющих такое же значение по умолчанию. Столбцы с этим типом данных, имеющие непосредственную привязку значений по умолчанию, не затрагиваются.

    ПримечаниеПримечание

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

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

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

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

Замечания

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

Разрешения

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

Примеры

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

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

EXEC sp_unbindefault 'employees.hiredate'

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

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

EXEC sp_unbindefault 'ssn'

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

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

EXEC sp_unbindefault 'ssn', 'futureonly'

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

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

CREATE TABLE [t.3] (c1 int) -- Notice the period as part of the table 
-- name.
CREATE DEFAULT default2 AS 0
GO
EXEC sp_bindefault 'default2', '[t.3].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.
EXEC sp_unbindefault '[t.3].c1'