Como definir que um campo é unico quando se está criando a tabela(no SQL server)

8 respostas Resolvido
W

Boa tarde a todos,

Sou novo nesse forum e tenho um dúvida, agradeço a todos que tentarem ajudar.

Possuo uma tabela pessoa onde a mesma vai ter dois atributos que devem ser únicos. O primeiro é o campo cod_pessoa e o seguinte é o campo CPF, no caso do cod_pessoa é uma primary key e por isso é um campo que não pode se repertir, mas no caso do campo CPF este não é uma chave primária.

A dúvida é como faço para definir que este campo tem que ser único quando estou criando a tabela.

Desde já agradeço a ajuda de todos.

8 Respostas

D

Você precisa rodar o script para criar a tabela e um outro contendo a alteração indicando a constraint que deseja (unique, no caso)

W

não tem nenhum jeito de mostrar que o campo é unico na criação da tabela?

A

Tem sim, dependendo do banco. Que banco de dados está utilizando?

W

SQL Server e Oracle

D

Simplesmente colocar uma constraint de unique key não funcionaria?
create table pessoa(

cpf varchar(13) not null unique,

);

W

Isto funciona em Oracle, mas e em SQL Server?

L
Solucao aceita
CREATE TABLE Production.TransactionHistoryArchive4  
 (  
   TransactionID int NOT NULL,   
   CONSTRAINT AK_TransactionID UNIQUE(TransactionID)   
);

FONTE: Criar restrições exclusivas

W

Valeu mestre muito obrigado!

Criado 13 de maio de 2019
Ultima resposta 14 de mai. de 2019
Respostas 8
Participantes 5