DROP DEFAULT (Transact-SQL)
Remove um ou mais padrões definidos pelo usuário do banco de dados atual.
Importante |
---|
DROP DEFAULT será removida na próxima versão do MicrosoftSQL 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. |
Convenções da 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 AdventureWorks2012;
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 Contact e descarta o padrão chamado phonedflt.
USE AdventureWorks2012;
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