Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Cria um objeto chamado padrão. Quando vinculado a uma coluna ou a um tipo de dados de alias, um padrão especifica um valor a ser inserido na coluna à qual o objeto está vinculado (ou em todas as colunas, se for de um tipo de dados de alias), quando nenhum valor é explicitamente fornecido durante uma inserção.
Importante
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Em vez disso, use definições padrão criadas usando a DEFAULT palavra-chave de ALTER TABLE ou CREATE TABLE.
Transact-SQL convenções de sintaxe
Sintaxe
CREATE DEFAULT [ schema_name . ] default_name
AS constant_expression [ ; ]
Arguments
schema_name
O nome do esquema ao qual o padrão pertence.
default_name
O nome do padrão. Os nomes padrão devem estar em conformidade com as regras para identificadores. Especificar o nome do proprietário padrão é opcional.
constant_expression
Uma expressão que contém apenas valores constantes (não pode incluir os nomes de colunas ou outros objetos de banco de dados). Você pode usar qualquer constante, função interna ou expressão matemática, exceto aquelas que contêm tipos de dados de alias. As funções definidas pelo usuário não podem ser usadas. Coloque constantes de caractere e data entre aspas simples ('); as constantes monetárias, inteiras e de vírgula flutuante não requerem aspas. Os dados binários devem ser precedidos por 0x, e os dados monetários devem ser precedidos por um cifrão ($). O valor padrão deve ser compatível com o tipo de dados da coluna.
Observações
Você só pode criar um nome padrão no banco de dados atual. Dentro de um banco de dados, os nomes padrão devem ser exclusivos por esquema. Ao criar um padrão, use sp_bindefault para vinculá-lo a uma coluna ou a um tipo de dados de alias.
Se o padrão não for compatível com a coluna à qual está vinculado, o SQL Server gerará uma mensagem de erro ao tentar inserir o valor padrão. Por exemplo, N/D não pode ser usado como padrão para uma coluna numérica .
Se o valor padrão for muito longo para a coluna à qual está vinculado, o valor será truncado.
CREATE DEFAULT as instruções não podem ser combinadas com outras instruções Transact-SQL em um único lote.
Um padrão deve ser descartado antes de criar um novo com o mesmo nome. E, o padrão deve ser desvinculado executando sp_unbindefault antes de ser descartado.
Se uma coluna tiver um padrão e uma regra associada a ela, o valor padrão não deverá violar a regra. Um padrão que entra em conflito com uma regra nunca é inserido, e o SQL Server gera uma mensagem de erro cada vez que tenta inserir o padrão.
Quando vinculado a uma coluna, um valor padrão é inserido quando:
- Um valor não é inserido explicitamente.
- As
DEFAULT VALUESpalavras-chave ouDEFAULTsão usadas comINSERTpara inserir valores padrão.
Se você especificar NOT NULL ao criar uma coluna e não criar um padrão para ela, uma mensagem de erro será gerada quando um usuário não conseguir fazer uma entrada nessa coluna. A tabela a seguir ilustra a relação entre a existência de um padrão e a definição de uma coluna como NULL ou NOT NULL. As entradas na tabela mostram o resultado.
| Definição da coluna | Sem entrada, sem padrão | Sem entrada, padrão | Digite NULL, sem padrão |
Digite NULL, padrão |
|---|---|---|---|---|
NULL |
NULL |
Default | NULL |
NULL |
NOT NULL |
Erro | Default | Erro | Erro |
Para renomear um padrão, use sp_rename Para um relatório em um padrão, use sp_help.
Permissions
Para usar CREATE DEFAULTo , no mínimo, um usuário deve ter CREATE DEFAULT permissão no banco de dados atual e ALTER permissão no esquema no qual o padrão está sendo criado.
Examples
A. Criar um padrão de caractere básico
O exemplo a seguir cria um caractere padrão chamado unknown.
USE AdventureWorks2022;
GO
CREATE DEFAULT phonedflt
AS 'unknown';
B. Vincular um padrão
O exemplo a seguir vincula o padrão criado no exemplo A. O padrão só terá efeito se nenhuma entrada for especificada para a Phone coluna da Contact tabela.
Observação
Omitir qualquer entrada é diferente de declarar NULL explicitamente em uma INSERT declaração.
Como um nome phonedflt padrão não existe, a instrução Transact-SQL a seguir falha. Este exemplo é apenas para ilustração.
USE AdventureWorks2022;
GO
EXECUTE sp_bindefault 'phonedflt', 'Person.PersonPhone.PhoneNumber';
Conteúdo relacionado
- ALTERAR TABELA (Transact-SQL)
- CRIAR REGRA (Transact-SQL)
- CRIAR TABELA (Transact-SQL)
- DROP DEFAULT (Transact-SQL)
- REGRA DE LARGADA (Transact-SQL)
- Expressões (Transact-SQL)
- INSERIR (Transact-SQL)
- sp_bindefault (Transact-SQL)
- sp_help (Transact-SQL)
- sp_helptext (Transact-SQL)
- sp_rename (Transact-SQL)
- sp_unbindefault (Transact-SQL)