본문 바로가기

db234

DB2 SQLSTATE=23505 DB2 SQLSTATE=23505 에러내용 INSERT문이 컬럼에 대한 VALUES 목록에 NEXT VALUE 표현식을 포함하는 경우와 INSERT 실행 중에 특정 지점에서 오류가 발생하는 경우(다음 시퀀스 값 생성 문제점 또는 다른 컬럼에 대한 값 문제점일 수 있음), 삽입 실패가 발생하고 (SQLSTATE 23505), 시퀀스에 대해 생성된 값을 사용하는 것으로 간주됩니다. 일부 경우에는 동일한 INSERT문을 다시 발행하면 성공할 수 있습니다. 일반적으로 INSERT할 때, 키값이 중복되는 경우에 발생하는 에러코드 출처 : http://www-01.ibm.com/support/knowledgecenter/?lang=ko 2015. 6. 9.
DB2 컬럼에 코멘트 만들기 COMMENT ON "스키마"."테이블" ( "컬럼1" IS '코멘트1', "컬럼2" IS '코멘트2' ); 참 쉽죠잉? 2015. 5. 14.
DB2 테이블 재구성 SQLSTATE=57016 에러 : SQL0668N Operation not allowed for reason code "7" on table "테이블이름". SQLSTATE=57016 DROP COLUMN을 했는데, 테이블 엑세스가 안되고 에러메시지가 뜬다. 원인은.... 테이블 재구성을 해야한다는 것! 오라클에서도 그런가?? 하여튼 DB2에서는 ALTER TABLE을 한 뒤에 재구성을 해줘야한다. 해결방법 : REORG TABLE 테이블이름 출처 : http://www-01.ibm.com/support/knowledgecenter/?lang=ko 2015. 4. 17.
SQL 튜닝 이야기 _ IN SQL 튜닝 이야기 _ IN 특정 쿼리를 실행하면 1분 이상 걸리는 경우가 생겨서 확인해봤다. 해당 쿼리에서는.... 키값이 아닌 일반 컬럼값으로 조인을 했다. 게다가 그 컬럼은 인덱스도 없었다. 특별히 문제 없다고 생각했었던건 그냥 그렇게 조인을 해도 값은 4초정도 걸렸다. (키값으로 조인을 하니 깜빡!하는 1초만에 나온다.) 뭐가 문제이길래, 쿼리가 15초~60초 걸리는 걸까? IN에서였다. 일반 컬럼값으로 조인하고, 그 컬럼에 대해서 'WHERE 컬럼 IN' 조건이 만들어지면 쿼리의 수행속도가 어마어마하게 늘어나는 것을 확인했다. EXISTS를 사용해도 마찬가지다. 오늘 하루 종일 얻은 교훈은 1. 조인은 키값으로 하자. (어지간하면)2. 키값이 아닌 일반 컬럼값으로 조인을 하면, WHERE IN .. 2015. 4. 8.