Criando e modificando restrições UNIQUE
Você pode criar uma restrição UNIQUE como parte da definição de tabela ao criar a tabela. Se a tabela já existir, é possível adicionar uma restrição UNIQUE desde que a coluna ou combinação de colunas que criou a restrição UNIQUE contenha somente valores únicos. Uma tabela pode conter várias restrições UNIQUE.
Se já existir uma restrição UNIQUE, é possível modificá-la ou excluí-la. Por exemplo, talvez você queira que uma restrição UNIQUE da tabela faça referência a outras colunas ou ainda deseje alterar o tipo de clustering do índice.
Observação |
---|
Para modificar a restrição UNIQUE, primeiro exclua a restrição UNIQUE existente e, em seguida, recrie-a com a nova definição. |
Quando uma nova restrição UNIQUE é adicionada a uma coluna ou colunas existentes em uma tabela, o Mecanismo de Banco de Dados, por padrão, examina os dados existentes nas colunas para certificar-se de que todos os valores são únicos. Se uma restrição UNIQUE for adicionada a uma coluna que tem valores duplicados, o Mecanismo de Banco de Dados retornará um erro e não adicionará a restrição.
O Mecanismo de Banco de Dados cria automaticamente um índice UNIQUE para impor a exclusividade do requisito da restrição UNIQUE. Portanto, se houver uma tentativa de inserir uma linha duplicada, o Mecanismo de Banco de Dados retornará uma mensagem de erro indicando que a restrição UNIQUE foi violada e a linha não será adicionada à tabela. A menos que um índice clusterizado seja explicitamente especificado, um índice não clusterizado e único é criado por padrão para impor a restrição UNIQUE.
O resumo de uma instrução CREATE TABLE a seguir mostra a definição da coluna Name especificando uma restrição UNIQUE nesta coluna para assegurar que os valores são únicos.
Name nvarchar(100) NOT NULL
UNIQUE NONCLUSTERED
Para remover o requisito de exclusividade para valores inseridos na coluna ou combinação de colunas incluídas na restrição, exclua uma restrição UNIQUE. Você não poderá excluir uma restrição UNIQUE se a coluna associada for usada como a chave de texto completo da tabela.
Para criar uma restrição UNIQUE ao criar uma tabela
Para criar uma restrição UNIQUE em uma tabela existente
Para excluir uma restrição UNIQUE
Para obter informações sobre restrições UNIQUE
Consulte também