DROP DEFAULT (Transact-SQL)

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

ms188747.note(ru-ru,SQL.90).gifВажно!
Инструкция DROP DEFAULT в будущих версиях сервера Microsoft SQL Server будет удалена. Избегайте использования инструкции DROP DEFAULT в новых разработках и запланируйте модификацию приложений, использующих эту инструкцию в настоящее время. Вместо нее используйте определения по умолчанию, которые могут создаваться при помощи ключевого слова DEFAULT инструкций ALTER TABLE и CREATE TABLE. Дополнительные сведения см. в разделе Изменение и создание определений DEFAULT.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

DROP DEFAULT { [ schema_name . ] default_name } [ ,...n ] [ ; ]

Аргументы

  • schema_name
    Имя схемы, которой принадлежит значение по умолчанию.
  • default_name
    Имя существующего значения по умолчанию. Для просмотра списка значений по умолчанию выполните процедуру sp_help. Имена значений по умолчанию должны соответствовать требованиям к именам идентификаторов. Задание имени схемы значения по умолчанию необязательно.

Замечания

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

После удаления значения по умолчанию из столбца, в котором допускаются значения NULL, везде на место значения вставляется NULL, если добавляются строки и явно не предоставляется никакое значение. После удаления значения по умолчанию из столбца со свойством NOT NULL, если добавляются строки и явно не предоставляется никакое значение, возвращается сообщение об ошибке. Эти строки добавляются позже как часть обычных действий инструкции INSERT.

Разрешения

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

Примеры

А. Удаление значения по умолчанию

Если значение по умолчанию не привязано к столбцу или псевдониму типа данных, оно может быть удалено при помощи инструкции DROP DEFAULT. В следующем примере удаляется созданное пользователем значение по умолчанию с именем datedflt.

USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sys.objects
         WHERE name = 'datedflt' 
            AND type = 'D')
   DROP DEFAULT datedflt
GO

Б. Удаление значения по умолчанию, привязанного к столбцу

В следующем примере отвязывается значения по умолчанию, связанное со столбцом EmergencyContactPhone таблицы Employee, затем удаляется само значение с именем phonedflt.

USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sys.objects
         WHERE name = 'phonedflt' 
            AND type = 'D')
   BEGIN 
      EXEC sp_unbindefault 'Person.Contact.Phone'
      DROP DEFAULT phonedflt
   END
GO

См. также

Справочник

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

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

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