CREATE UNIQUE INDEX

Oracle

08/12/2016

Galera estou com um problema que está fritando meus neurônios segue abaixo:

Erro a partir da linha : 17 no comando -
CREATE UNIQUE INDEX "ORA_VIRTUAL_FUNDOS"."PK_T_COTACAO" ON "ORA_VIRTUAL_FUNDOS"."T_COTACAO" ("COTC_DT_COTACAO", "COTC_ID_ATIVO", "COTC_COTA_MERCADO")
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 1778384896 NEXT 33554432 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
Erro na Linha de Comandos : 17 Coluna : 81
Relatório de erros -
Erro de SQL: ORA-01452: não é possível executar CREATE UNIQUE INDEX; há chaves duplicadas
01452. 00000 - "cannot CREATE UNIQUE INDEX; duplicate keys found"
*Cause:
*Action:

Alguma dica de como descobrir quais chaves estão duplicadas.
Vinicius Barbosa

Vinicius Barbosa

Curtidas 0

Respostas

Fabio Parreira

Fabio Parreira

08/12/2016

Amigo, verifique se na coluna que você está tentando criar a unique não existe algum dado duplicado, se existir você terá que excluir.
GOSTEI 0
Roberto Spernega

Roberto Spernega

08/12/2016

Execute este SELECT para identificar

Select COTC_DT_COTACAO, COTC_ID_ATIVO, COTC_COTA_MERCADO, Count(1)
from ORA_VIRTUAL_FUNDOS.T_COTACAO
group by COTC_DT_COTACAO, COTC_ID_ATIVO, COTC_COTA_MERCADO
Having count(1) > 1;
GOSTEI 0
POSTAR