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

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.

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

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

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

SQL Server e Oracle

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

cpf varchar(13) not null unique,

);

1 curtida

Isto funciona em Oracle, mas e em SQL Server?

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

FONTE: Criar restrições exclusivas

1 curtida

Valeu mestre muito obrigado!