2014. 3. 14.

[DB2]SQL0803N One or more ...SQLSTATE=23505 오류메시지 확인하기

참조URL : http://www.dbforums.com/db2/997011-sql0803n-one-more-sqlstate-23505-a.html


IBM DB2 사용시 아래와 같은 오류메시지를 만나는 경우 오류내용 확인하기
=================
unique constraint or unique index identified by "1" constrains table "schema.table_name" from having duplicate values for the index key..

SQLCODE=-803, SQLSTATE=23505

---
상단과 같은 메시지를 맞닥트리게 되는 경우 아래의 쿼리로 해당 내용을 확인하기 바람.

SELECT *
FROM SYSCAT.INDEXES
WHERE IID = 1
AND TABSCHEMA = 'schema'
AND TABNAME = 'table_name'
;

위의 쿼리결과의 COLNAMES, UNIQUERULE 컬럼의 내용을 확인한 뒤, 인덱스가 중복되는지 확인하는 쿼리를 사용하여 점검한다.

SELECT table_name의 컬럼들, count(*) as qty
from table_name
group by table_name의 컬럼들
having  count(*) > 1
order by qty
;

위의 쿼리 결과에서 나오는 값은 중복된 인덱스를 가진 결과값이므로 해당 데이터를 보정해야 된다.

댓글 없음:

댓글 쓰기