본문 바로가기

SQL44

SQLSTATE=0168D 에러 특정 웹페이지가 뜨지 않는다는 SR요청에 따라서 확인했다. 문제는 쿼리부분 내가 만든 쿼리가 아니라서 다행이네누군지는 몰라도 쿼리를 정말 대충 짠 것 같다. -- 에러 내용 -- System.FormatException 입력 문자열의 형식이 잘못되었습니다. Stack Trace: 위치: System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) 위치: System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt) 위치: IBM.Data.DB.. 2014. 11. 24.
DB2 ROWNUM DB2는 언제나 나를 힘들게 한다. 학원에서 배운 오라클하고는 종종 다른 면이 많아서, 찾아보는게 너무 힘들다. DB2 공부도 열심히 해야지... DB2에서는 WHERE절 마지막에 그냥 ROWNUM 해주면 안된다. 오라클은 되는데; RANK() OVER 해주고 괄호안에 (PATITION BY 와 ORDER BY를 잘 써주면 된다.) 그리고 마지막은 쿼리문 마지막에 ORDER BY로 장식한다. 상위 이미지에 있는 예제만 본다면 특별히 어려울 것은 없다. 해당 자료의 출처를 밝힙니다. 출처 : http://thehobt.blogspot.kr/2009/02/rownumber-rank-and-denserank.html 2014. 11. 23.
DB2 SQL0696N 에러 SQL0696N 에러 내용은 TRIGGER 사용시에 발생하는데 1. DELETE 트리거에서는 NEW를 사용할 수 없다. 2. INSERT 트리거에서는 OLD를 사용할 수 없다. 3. OLD와 NEW는 BEFORE 트리거에서 사용할 수 없다. 4. 트리거가 복합 SQL (컴파일) 문을 사용하여 정의된 경우 OLD와 NEW에서 허용되지 않는다. 내 경우는 AFTER DELETE에서 REFERENCING NEW를 해서 에러가 났다... DELETE에서는 NEW를 사용할 수 없지... 1번의 경우다. 해당 내용의 출처를 밝힙니다. 출처 : IBM Knowledge Center 클릭시 출처에서 더 많은 내용을 알 수 있습니다. 2014. 11. 22.
DB2 TRIGGER (자료 백업하기) 학원에서 배울 때는 오라클 기준으로만 배웠었는데... 프로젝트에서는 DB2를 쓴다. 그냥 비슷하겠지... 똑같겠지... 하는 생각이였는데 거의 비슷하고, 거의 똑같다. 새로운 개발을 하는데, 해당 테이블의 자료가 중요해서 PM님이 수정이나 업데이트 되면 따로 백업 테이블에 원본을 넣으라고 했다. 트리거를 사용하라고 했는데, "트리거요? (@,.@)?" 이런 표정으로 쳐다보니... 우리 대리님이 옆에서 도와줄테니까, 일단 개발 다 한 다음에 트리거해도 되니까 걱정하지 말란다. 일단 개발을 끝내고 트리거를 만들려고 구글을 뒤적거려도 생각보다 쉽지는 않았다. (이래서 멍청하면 고생이다.) --- 예문 시작 --- CREATE TRIGGER TRIGGER_NM /* 트리거 이름(TRIGGER_NM) 만들기 */.. 2014. 11. 22.