1
resposta

Dados iguais

executei varias vezes o comando abaixo, quando percebi ele inseriu o mesmo dado várias vezes, como fazer para que isso não aconteça?

INSERT INTO [TABELA DE PRODUTO] ([CODIGO DO PRODUTO], [NOME DO PRODUTO], [EMBALAGEM], [TAMANHO], [SABOR], [PREÇO DE LISTA]) VALUES ('544931', 'Frescor do Verão - 350 ml - Limão', 'PET', '350 ml','Limão',3.20)

INSERT INTO [TABELA DE PRODUTO] ([CODIGO DO PRODUTO], [NOME DO PRODUTO], [EMBALAGEM], [TAMANHO], [SABOR], [PREÇO DE LISTA]) VALUES ('1078680', 'Frescor do Verão - 470 ml - Manga', 'Lata', '470 ml','Manga',5.18)

1 resposta

Wesley, blz?

É necessário configurar uma chave primária na coluna [CODIGO DO PRODUTO] ou configurar uma restrição exclusiva nas colunas que você não deseja aceitar valores repetidos.

# Adicionar restrição Chave Primaria
ALTER TABLE [TABELA DE PRODUTO] ADD CONSTRAINT pk_produto_codigo PRIMARY KEY NONCLUSTERED ([CODIGO DO PRODUTO]) NOT ENFORCED;

# Adicionar restrição Unica
ALTER TABLE [TABELA DE PRODUTO] ADD CONSTRAINT unique_produto_nome UNIQUE ([NOME DO PRODUTO]) NOT ENFORCED;

Quando tentar inserir um código ou nome de produto que já exista o banco de dados retornará um erro dizendo que a restrição exclusiva foi violada.

Mais detalhes nas documentações abaixo.

Docs Microsoft - Chave primária

Docs Microsoft - Restrições exclusivas

Espero ter ajudado.

Bons estudos!