sp_unbindefault (Transact-SQL)
Отменяет привязку или удаляет значение по умолчанию из столбца или псевдонима типа данных в текущей базе данных.
Важно! |
---|
В следующей версии Microsoft SQL Server эта возможность будет удалена. Не используйте ее при работе над новыми приложениями и как можно быстрее измените приложения, в которых она в настоящее время используется. Вместо этого рекомендуется создавать определения по умолчанию с помощью ключевого слова DEFAULT в инструкциях ALTER TABLE или CREATE TABLE. Дополнительные сведения см. в разделе Изменение и создание определений DEFAULT. |
Синтаксис
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'