2007-03-13

Retirar uma amostra

No Oracle existe uma maneira de conseguir automaticamente uma amostra de dados de uma ou vários tabelas

select * from tabela sample(1);

retorna 1% das linhas da tabela;

select * from tabela sample block(1);
retorna as linhas que se encontram em 1% dos blocos da tabela;

Também é possivel (pelo menos da 10.2g) retirar amostras de várias tabelas e views
SELECT *
FROM a, b SAMPLE(1) where alunosx.cod=alunos.numero;


No entanto não se pode usar uma view (implicita ou não) com DISTINCT, GROUP BY. Dá o erro:

ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc

No comments:

Post a Comment

Os comentários são moderados.
The comments are moderated.