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


sp_unbindefault (Transact-SQL)

Применимо к:SQL Server

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

Внимание

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

Transact-SQL соглашения о синтаксисе

Синтаксис

sp_unbindefault
    [ @objname = ] N'objname'
    [ , [ @futureonly = ] 'futureonly' ]
[ ; ]

Аргументы

[ @objname = ] N'objname'

Имя таблицы и столбца или типа данных псевдонима для отмены привязки по умолчанию. @objname — nvarchar(776) без значения по умолчанию. SQL Server пытается сначала разрешить двух частей идентификаторы именам столбцов, а затем к типам данных псевдонимов.

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

Примечание.

@objname может содержать скобки в виде символов [] идентификатора с разделителями. Дополнительные сведения см. в разделе "Идентификаторы базы данных".

[ @futureonly = ] 'futureonly'

Используется только при отмене привязки по умолчанию из типа данных псевдонима. @futureonly — varchar(15) с значением по умолчаниюNULL. Если @futureonlyfutureonly, существующие столбцы типа данных не теряют указанное значение по умолчанию.

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

0 (успешно) или 1 (сбой).

Замечания

Чтобы отобразить текст по умолчанию, выполните sp_helptext имя по умолчанию в качестве параметра.

Разрешения

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

Примеры

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

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

EXECUTE sp_unbindefault 'employees.hiredate';

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

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

EXECUTE sp_unbindefault 'ssn';

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

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

EXECUTE sp_unbindefault 'ssn', 'futureonly';

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

В следующем примере показано использование идентификаторов с разделителями в параметре @objname . Имя t.3 таблицы содержит период, поэтому необходимы разделители квадратных скобок. При вызове sp_unbindefault первый период является частью имени таблицы, а второй отделяет имя таблицы от имени столбца.

CREATE TABLE [t.3] (c1 INT);
CREATE DEFAULT default2 AS 0;
GO

EXECUTE sp_bindefault 'default2', '[t.3].c1';
EXECUTE sp_unbindefault '[t.3].c1';