Хранимая процедура 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';
В. Использование 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';