Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Félix

Campo aceitar determinados valores.

Recommended Posts

Bom dia a todos.

 

Pesquisei um pouco antes de criar o tópico, mas não encontrei. :)

 

Bom pessoal, preciso fazer com que um campo só aceite valores pré determinados.

Ex.:

 

- Tabela tb_aluno, preciso que no campo sexo só aceite o valor F ou M.

Gostaria de saber se é possível?

 

 

Agradeço desde já a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilize uma CONSTRAINT do tipo CHECK

 

exemplo:

CREATE TABLE tb_aluno 
(id INT NOT NULL,
nome VARCHAR(30) NOT NULL,
sexo CHAR(1) NOT NULL
   CONSTRAINT sexo_ CHECK (sexo in ('M', 'F')),
idade DATETIME NULL
);

teste M:

INSERT INTO tb_aluno (id, nome, sexo, idade)
values (1, 'teste M', 'M', 20)

retorno OK: (1 row(s) affected)

 

teste F:

INSERT INTO tb_aluno (id, nome, sexo, idade)
values (1, 'teste F', 'F', 20)

retorno OK: (1 row(s) affected)

 

teste I:

INSERT INTO tb_aluno (id, nome, sexo, idade)
values (1, 'teste', 'I', 20)

retorna o erro abaixo:

Msg 547, Level 16, State 0, Line 1

A instrução INSERT conflitou com a restrição do CHECK "sexo_". O conflito ocorreu no bando de dados "master", tabela "dbo.tb_aluno", column 'sexo'.

A instrução foi finalizada.

 

 

verifique mais exemplos na documentação oficial: http://msdn.microsoft.com/pt-br/library/ms190273.aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.