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


Хранимая процедура sp_unbindefault (Transact-SQL)

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

ms188913.note(ru-ru,SQL.90).gifВажно!
В будущей версии 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 пытается разрешить идентификаторы, состоящие из двух частей, вначале к именам столбцов, а затем к псевдонимам типов данных.

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

    ms188913.note(ru-ru,SQL.90).gifПримечание.
    Аргумент 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'

См. также

Справочник

Системные хранимые процедуры (Transact-SQL)
Хранимые процедуры ядра СУБД (Transact-SQL)
CREATE DEFAULT (Transact-SQL)
DROP DEFAULT (Transact-SQL)
sp_bindefault (Transact-SQL)
sp_helptext (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005