programing

Oracle에서 모든 필드가 고유한지 확인하는 방법은 무엇입니까?

newstyles 2023. 10. 1. 19:19

Oracle에서 모든 필드가 고유한지 확인하는 방법은 무엇입니까?

Oracle에서 모든 필드가 고유한지 확인하는 방법은 무엇입니까?

SELECT myColumn, COUNT(*)
FROM myTable
GROUP BY myColumn
HAVING COUNT(*) > 1

발생 횟수가 1회보다 많은 경우(즉, 고유하지 않은 경우) 발생 횟수와 함께 모든 myColumn 값이 반환됩니다.

이 쿼리의 결과가 비어 있으면 이 열에 고유한 값이 있는 것입니다.

DBMS_STATS를 사용하여 테이블을 분석하는 것이 쉬운 방법입니다. 이 후 dba_tables를 살펴보시면 됩니다.num_rows 열을 봅니다.dab_tab_columns 보기.각 열에 대한 num_distinct를 행 수와 비교합니다.이것은 큰 테이블의 프로덕션 시스템에 영향을 미칠까 걱정되는 경우 테이블 스캔을 전체적으로 수행하지 않고 원하는 작업을 수행하는 방법에 대한 것입니다.직접적인 결과를 원하는 경우 그룹별로 테이블에 대해 쿼리를 실행하여 다른 사용자가 제안하는 작업을 수행합니다.

하나의 방법은 고유한 인덱스를 만드는 것입니다. 인덱스를 만드는 것이 실패하면 기존의 중복된 정보가 있고, 삽입이 실패하면 중복된 정보가 생성되는 것입니다.

언급URL : https://stackoverflow.com/questions/4010311/how-to-check-if-all-fields-are-unique-in-oracle