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
'programing' 카테고리의 다른 글
JSON 데이터를 로드하여 select2 플러그인과 함께 사용하는 방법 (0) | 2023.10.01 |
---|---|
sqalchemy 모델의 정의된 열에 대한 반복 방법? (0) | 2023.10.01 |
sql 명령을 통해 mysql 이진 로그가 활성화되는지 어떻게 알 수 있습니까? (0) | 2023.10.01 |
텍스트 파일에서 C의 배열로 숫자 읽기 (0) | 2023.10.01 |
Mac OSX 10.6으로 Ruby용 mysql2 gem 설치 (0) | 2023.09.26 |