Partilhar via


DROP DEFAULT (Transact-SQL)

Remove um ou mais padrões definidos pelo usuário do banco de dados atual.

Observação importanteImportante

DROP DEFAULT será removida na próxima versão do Microsoft SQL Server. Não use DROP DEFAULT em um novo trabalho de desenvolvimento e planeje modificar os aplicativos que atualmente a utilizam. Em vez disso, use as definições padrão que criar com a palavra-chave DEFAULT de ALTER TABLE ou CREATE TABLE. Para obter mais informações, consulte Criando e modificando definições DEFAULT.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • schema_name
    É o nome do esquema ao qual o padrão pertence.

  • default_name
    É o nome de um padrão existente. Para ver uma lista dos padrões existentes, execute sp_help. Os padrões devem estar de acordo com as regras para identificadores. Especificar o nome do esquema padrão é opcional.

Comentários

Antes de descartar um padrão, desassocie-o executando sp_unbindefault se o padrão estiver atualmente associado a uma coluna ou a um tipo de dados de alias.

Depois que um padrão é descartado de uma coluna que permite valores nulos, NULL é inserido nessa posição quando as linhas são adicionadas e nenhum valor é explicitamente fornecido. Depois que um padrão é descartado de uma coluna NOT NULL, uma mensagem de erro é retornada quando as linhas são adicionadas e nenhum valor é explicitamente fornecido. Estas linhas são adicionadas posteriormente como parte do comportamento da instrução INSERT típica.

Permissões

Para executar DROP DEFAULT, no mínimo, um usuário deve ter a permissão ALTER no esquema ao qual o padrão pertence.

Exemplos

A. Descartando um padrão

Se um padrão não estiver associado a uma coluna ou a um tipo de dados de alias, ele só poderá ser descartado usando DROP DEFAULT. O exemplo a seguir remove o padrão criado pelo usuário chamado datedflt.

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

B. Descartando um padrão associado a uma coluna

O exemplo a seguir desassocia o padrão associado à coluna EmergencyContactPhone da tabela Employee e descarta o padrão chamado phonedflt.

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