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


Хранимая процедура 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.

EXEC sp_unbindefault 'employees.hiredate';

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

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

EXEC sp_unbindefault 'ssn';

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

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

EXEC sp_unbindefault 'ssn', 'futureonly';

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

В следующем примере показано использование идентификаторов с разделителями в параметре @objname . Обратите внимание, что период в составе имени таблицы. sp_unbindefault В части объект содержит два периода. Первая — часть имени таблицы, а вторая — имя таблицы от имени столбца.

--
CREATE TABLE [t.3] (c1 INT);

CREATE DEFAULT default2 AS 0;
GO

EXEC sp_bindefault 'default2', '[t.3].c1';

EXEC sp_unbindefault '[t.3].c1';