Dicas sobre desenvolvimento de software, gestão e tributações

Rede Social

24 de julho de 2019

SQL: Como criar unique key com exceções SQL Server


Em alguns casos precisamos criar uma chave única no banco de dados com o intuito de não repetir um valor.
Mas pode ser que existam exceções à regra, vou dar um exemplo, tenho uma tabela com o cadastro dos meus clientes e nessa tabela tenho a coluna de CNPJ do tipo varchar, nessa coluna coloco o número do CNPJ do cliente e quando ele é do exterior preencho com o texto "EXTERIOR", mas imagine que se a chave é única só poderia ter um cliente do exterior, para resolver isso crio uma chave única, pois não quero que nenhum CNPJ se repita, mas o caso do EXTERIOR sim pode se repetir, para isso coloco um where na criação do índice.

CREATE UNIQUE INDEX UN_CLIENTE_CNPJ

ON CLIENTE(CNPJ)
WHERE CNPJ != 'EXTERIOR' AND CNPJ IS NOT NULL AND CNPJ != ''
Ler