PauloTI 0 Denunciar post Postado Setembro 18, 2012 Pessoal assim.. vi na internet como achar valores duplicados em uma tabela legal ok. Inseri um cara exatamente igual a outro aqui da minha tabela, porém como excluir um cara duplicado? não tem exatamente um filtro na clausula where que eu possa usar pra deletar. Tentei usar Rownum mas não está dando muito certo! alguém pode me ajudar? MAXIMO QUE SAIU FOI ISSO. DECLARE CURSOR RED IS SELECT ROWNUM QUANT FROM EMP; BEGIN FOR I IN RED LOOP IF I.QUANT = 15 THEN DELETE EMP WHERE ROWNUM <15; END IF; END LOOP; END; VALEUUUU ATT. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 18, 2012 --DUPLICADOS SELECT CAMPO FROM TABELA GROUP BY CAMPO HAVING COUNT(*) > 1 --SELECINANDO SELECT CAMPO,ROWID FROM TABELA WHERE CAMPO IN (SELECT CAMPO FROM TABELA GROUP BY CAMPO HAVING COUNT(*) > 1) --BLOCO PARA DELETAR DECLARE VCAMPOANT TABELA.CAMPO%TYPE; BEGIN VCAMPOANT := ' '; FOR R IN (SELECT CAMPO,ROWID FROM TABELA WHERE CAMPO IN (SELECT CAMPO FROM TABELA GROUP BY CAMPO HAVING COUNT(*) > 1) ORDER BY 1,2) LOOP IF VCAMPOANT = R.CAMPO THEN DELETE TABELA WHERE ROWID = R.ROWID; END IF; VCAMPOANT = R.CAMPO; END LOOP; END; -------------- Faz uma salva antes e testa pois foi escrito no notepad, sem teste. Compartilhar este post Link para o post Compartilhar em outros sites
PauloTI 0 Denunciar post Postado Setembro 19, 2012 --DUPLICADOS SELECT CAMPO FROM TABELA GROUP BY CAMPO HAVING COUNT(*) > 1 --SELECINANDO SELECT CAMPO,ROWID FROM TABELA WHERE CAMPO IN (SELECT CAMPO FROM TABELA GROUP BY CAMPO HAVING COUNT(*) > 1) --BLOCO PARA DELETAR DECLARE VCAMPOANT TABELA.CAMPO%TYPE; BEGIN VCAMPOANT := ' '; FOR R IN (SELECT CAMPO,ROWID FROM TABELA WHERE CAMPO IN (SELECT CAMPO FROM TABELA GROUP BY CAMPO HAVING COUNT(*) > 1) ORDER BY 1,2) LOOP IF VCAMPOANT = R.CAMPO THEN DELETE TABELA WHERE ROWID = R.ROWID; END IF; VCAMPOANT = R.CAMPO; END LOOP; END; -------------- Faz uma salva antes e testa pois foi escrito no notepad, sem teste. Perfeito MOTTA funcionou direitinho! quando eu crescer eu vou ser que nem você auhsuhuhsuhashuas Bye valeu \o Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 19, 2012 Só rindo ... Compartilhar este post Link para o post Compartilhar em outros sites