DROP DEFAULT (Transact-SQL)
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
Remove um ou mais padrões definidos pelo usuário do banco de dados atual.
Importante
A instrução 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 você pode criar com a palavra-chave DEFAULT de ALTER TABLE ou CREATE TABLE.
Convenções de sintaxe de Transact-SQL
Sintaxe
DROP DEFAULT [ IF EXISTS ] { [ schema_name . ] default_name } [ ,...n ] [ ; ]
Argumentos
IF EXISTS
Aplica-se a: SQL Server (SQL Server 2016 (13.x) até a versão atual).
Remove condicionalmente o padrão somente se ele já existe.
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 seguir as regras de identificadores. Especificar o nome do esquema padrão é opcional.
Comentários
Antes de remover um padrão, desassocie-o executando sp_unbindefault se ele 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 AdventureWorks2022;
GO
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'datedflt'
AND type = 'D')
DROP DEFAULT datedflt;
GO
Começando pelo SQL Server 2016 (13.x), você pode usar a sintaxe a seguir.
DROP DEFAULT IF EXISTS 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 AdventureWorks2022;
GO
BEGIN
EXEC sp_unbindefault 'Person.Contact.Phone'
DROP DEFAULT phonedflt
END;
GO
Consulte Também
CREATE DEFAULT (Transact-SQL)
sp_helptext (Transact-SQL)
sp_help (Transact-SQL)
sp_unbindefault (Transact-SQL)