전체보기
-
ADD_MONTHS ADD_MONTHS 함수는 오라클에서 사용가능한 함수이며, 자신이 원하는 날짜에 특정 개월 수를 더한 값을 추출할 수 있다.용법은 다음과 같다.☞ ADD_MONTHS( 날짜, +개월 수 )쿼리 결과를 보면 이해하기 쉽다. SELECT A.DT , TO_CHAR(ADD_MONTHS(A.DT, 2),'YYYY-MM-DD') ADD_DTFROM (SELECT TO_CHAR(TO_DATE('20180530','YYYYMMDD'), 'YYYY-MM-DD') AS DT FROM DUAL) A ☞ 참고① : 2월의 경우 28일까지밖에 존재하지 않기 때문에 마지막 날로 조회가 된다. SELECT A.DT , TO_CHAR(ADD_MONTHS(A.DT, 2),'YYYY-MM-DD') ADD_DTFRO..
[Oracle]ADD_MONTHS 2018. 5. 30. -
간혹 한번에 여러 개의 데이터를 Insert 시켜야하는 경우가 있다.지금까지 많게는 2000개까지 Insert를 시킨 경험이 있는데 그런 경우 사용하는 방법이다. 다중 Insert를 할 때 오라클의 더미 테이블을 이용할 수 있는 방법이 있다.여러 데이터의 경우 시간이 걸리는 단점이 있긴하다. 자, A라는 테이블이 있다.A테이블에는 A_CD, AD_ID, SEQ_NO라는 컬럼이 존재한다.그리고 아래와 같은 자료를 삽입시켜야 한다. A_CD AD_ID SEQ_NO 1001 0000803930 1 1001 0000803930 2 1001 0000803930 3 10010000803930 4 100100008039305 1001 00008039306 1001 0000803930 7 1001 0000803930 ..
[Oracle]다중 INSERT 2018. 5. 24. -
ORA-01427 쿼리를 만들다보면 종종 마주치는 에러입니다. ORA-01427은 주로 서브쿼리에서 1건을 초과한 레코드가 나올 때 발생하는 에러입니다. 쿼리를 보면 이해가 빠를 것 같습니다. TESTDB라는 테이블이 있고 아래와 같이 데이터가 입력되어 있습니다. 자, 이제 에러가 나는 쿼리문을 보겠습니다. WITH TESTDB AS( SELECT '20123153' CODE, '이승현' CODENM, 'Y' USE_YN FROM DUAL UNION ALL SELECT '20156121' CODE, '박민서' CODENM, 'Y' USE_YN FROM DUAL UNION ALL SELECT '20143328' CODE, '최유진' CODENM, 'Y' USE_YN FROM DUAL UNION ALL SE..
[Oracle]ORA-01427 : 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다 2018. 5. 15. -
MONTHS_BETWEEN(SYSDATE, ColumnA) MONTHS_BETWEEN 함수는 월 단위로 날짜 연산을 하는 함수이다.SYSDATE(현재 날짜)를 기준으로 ColumnA(입력 날짜)와 몇 개월의 차이가 나는지를 구한다.아래 쿼리문을 통해 이해해보자.(ENTER_YMD : 입사일, ENTER_YMD2 : 개월 차이) SELECT EMP_ID , EMP_NM , ENTER_YMD , MONTHS_BETWEEN(SYSDATE, ENTER_YMD) AS ENTER_YMD2FROM A; 결과를 보면 소수점이 생기는 것을 확인할 수 있다. 개월 수를 나누어 년수로 바꾸고 TRUNC를 이용해 소수점을 깔끔하게 해주자.(반올림이 필요하다면 ROUND 처리를 해줘도 될 것 같다) SELECT EMP_ID ,..
[Oracle]MONTHS_BETWEEN 2018. 5. 15. -
오전에 프로그램을 하나 수정하면서 발견한 오류 ORA-01006검색 결과, Java에서 ? 에 값이 없거나 잘 못 들어가는 경우 생기는 오류라고 한다.. 디버깅 과정을 거쳐보니 xml에 주석을 달았던 것이 문제였다.지금 프로그램은 xml에서 바인드 변수(:)를 이용해 java단으로부터 특정 값들을 받아오고 있다.문제가 발생한 이유는 조건절을 주석으로 막아놔서 java단에서는 값이 넘어오는 데 그 값을 처리못해 생긴 오류였다. 아래는 문제의 조건절..(테이블명만 임의로 수정했다) WHERE A.조건='Y'AND B.조건 IN( SELECT 조건 FROM C WHERE C조건='Y' AND C조건 AND (C.조건=NVL(:값1, 값2) OR C.조건2=NVL(:값1, 값2)) ) 다음부터 조심하자. +피드..
[Oracle]ORA-01006 : 바인드 변수가 없습니다 2018. 5. 15. -
IBSheetIBSheet는 별도의 개발툴 없이 자바스크립트를 통해 각 기능을 설정함으로써 기능 구현이 가능하다.Ajax 통신을 통해 데이터를 XML 또는 JSON 형태로 받아 화면에 로딩한다. IBSheet는 여러 기능이 제공되는데,각 컬럼별 다양한 데이터 타입과 포맷을 제공한다. 이제 반은 아는 정도가 되었으려나...또 합계/소계/누계 등 숫자연산 기능도 제공한다.결과적으로 IBSheet는 DB에 저장 된 다량의 데이터를 리스트로 조회하거나 입력,수정,삭제하는 경우 유용하게 사용되는 것 같다. 오늘은 IBSheet의 함수를 이용해 특정 기능이 작동되는 데 조건을 주었다.오늘 알게 된 함수는 CellValue와 GetSelectionRows()이다. CellValue(Row, Col) 스크립트에서 사용..
[IBSheet]CellValue와 GetSelectionRows() 2018. 5. 10. -
MVC(Model View Controller)MVC 패턴은 모델1과 모델2로 나누어진다.MVC는 사용자에게 보여지는 화면과 데이터를 처리하는 부분이 나누어져 있는 것을 의미한다. Model : 데이터 처리 담당(DB와 연동하는 로직)View : 화면 담당(디자인)Controller : Model과 View사이의 통신 역할 모델1은 웹 브라우저의 요청을 뷰 단에서 받아 Jsp 단독으로 처리하는 방식이다.간단히 말해 웹 브라우저의 요청을 처리하는 비즈니스 로직이 Jsp 페이지에 섞여있는 것이 모델1 구조이다.모델2는 클라이언트의 요청과 처리를 담당하는 뷰 단과 비즈니스 로직을 처리하는 모델이 분리되어 있는 구조이다. 모델1은 구조가 단순하기 때문에 간단한 웹 페이지의 경우 효율적인 사용이 가능하다. 반면에..
MVC 패턴 2018. 5. 8. -
웹 프로젝트를 진행할 때 Tomcat을 연동해 개발했었다.문득 개념을 짚고 넘어갈 필요성을 느껴 정리해본다. WAS와 WEB Server서버는 사용자(클라이언트)의 요청을 받아 처리하는 시스템이다.웹 서버와 WAS의 차이점을 알아보자. WEB Server웹 서버는 사용자의 요청에 따라 html이나 데이터들을 http프로토콜을 이용해 전송한다. 웹 서버는 정적 데이터 처리에 효율적이다.정적 데이터란 정해져 있는, 이미 생성 되어있는 데이터를 의미한다. 미디어 파일이나 단순 html 파일과 같은 리소스를 제공하는 서버는 WAS보다 웹 서버를 이용하는 것이 더 빠르고 효율적이다.사용자의 요청 중 웹 서버 자체적으로 처리할 수 없는 것들은 WAS에게 넘겨 처리 결과를 받아와서 사용자에게 넘겨주는 역할을 수행하기..
WAS 그리고 Tomcat(+웹 서버와 차이점) 2018. 5. 4.