table 건수가 많을 경우 delete 보단 truncate 가 낫다 오라클에서 이관 작업중에 수시로 테이블을 delete 하고 새로 넣는데 700만건 까진 그럭저럭 5분안으로 되었다 1000만건이 넘어가는 경우 그리고 디비가 busy 할 경우 30분이 지나도 반응이 없고 rock 도 걸리지 않았다 delete 의 경우는 건당 undo 및 로그에 대한 기록을 하면서 진행되기에 truncate .. sql 2018.11.12
오라클 utc time epoch 값 date 변환 java 에서 long 형의 timestamp / long java.util.calendar.getTimeInMillis() 를 할경우 13자리의 값 이 값은 1970-01-01 부터 시작하는 값으로 해당 값이 디비에 박힐 경우 쿼리 상에서 변환은 안된다. 물론 java 8 의 개선된 date는 long 형의 timestamp 값을 어떻게 넣어주는 지는 모르지만 해당 내용을 잘 알고 있는 .. sql 2018.05.23
오라클 글자 byte 단위로 substr 하기 오라클에서만 확인 했고 다른 DB에선 확인 안 되었다. 디비에 name(10) 이런식으로 되어 있을때 한글과 한자등 비영어 권은 1byte가 아닌 3byte를 많이 사용한다. 그래서 저렇게 두면 영어는 10글자 그 외에는 3글자 정도만 들어가서 substr(name,0,3) 이런식으로 하면 영어빼곤 1자만 들어간다 바이.. sql 2018.02.09
오라클 패키지 호출 구조 오라클 패키지는 예전에는 좀 만들어서 사용했지만 최근엔 거의 사용해본적이 없다. 비즈니스 구조는 될수 있으면 소스단에 두어야 소스추적및 관리가 용이하기에.... 그러다 보니 가끔 타시스템을 볼때 헷갈리는 경우가 있다 일반적으로 DB 에서 객체의 호출은 스키마.[테이블/함수] 인.. sql 2017.11.28
서브쿼리 종류중 select 절에 사용하는 스칼라 서브 쿼리 항상 이 쿼리 형태의 이름이 기억이 안나서 아예 기록을 해둔다 아래 내용은 구루비 DB 에서 발췌한 내용이다. http://wiki.gurubee.net/pages/viewpage.action?pageId=26744146 그밖에 위치에서 사용하는 서브쿼리 SELECT 절에 서브쿼리 사용하기 다음은 SELECT 절에서 사용하는 서브쿼리인 스칼라 서브쿼리(Sca.. sql 2016.11.11
mybatis 사용 안하고 select key키 대체 prepareStatement 직접 사용시 insert 구문 입력 성공 리턴값 확인 mybatis 에서는 select key 로 받을수 있지만 mybatis를 사용 안 할 경우... PreparedStatement pstmt = null; sql = "INSERT INTO ........."// pstmt = conn.prepareStatement(sql.toString(), new String[]{"리턴받을컬럼(생성된pk)"}); pstmt.executeUpdate(); ResultSet keyset = pstmt.getGeneratedKeys(); while(keyset.next()){ String docuId = keyset.getString(1); } sql 2015.12.02
trigger 이용 1. DB LINK 설정 active db 에서 stanby db 로의 db link 설정 확인 active db 에서 stanby db 로의 db link을 이용한 datainsert 성공 여부 확인 2. trigger sql 작성 CREATE OR REPLACE TRIGGER 트리거명 AFTER [INSERT,DELETE,UPDATE중 선택] ON 테이블명 -- delete or insert or update REFERNCING new as new old as old for each row DECLARE BEGIN if inserting.. sql 2015.11.26
스케줄을 보여주는 데이터에 대한 조건절 구조 시작일과 종료일이 존재 하는 테이블 기준이며 조건절에서 시작일 < 파라미터종료일 and 종료일 > 파라미터시작일 이런식으로 조건이 붙여야 정상적인 데이터를 불러올수 있다. 매번 헷갈려서 잘못해서 파라미터를 벗어난 일부 데이터가 안나오던가 between 등을 써서 복잡하게 갈때가.. sql 2014.11.27
10g 부터 지원하는 wm_concat함수 사용시 주의 사항 wm_concat 함수는 row 데이터를 col 으로 자동 나열 해주는 정말 편리한 기능이다. 예전에는 connect by 쓰고 했는데 편하다 그런데 11g에서 그러는 것인지 모르겠지만 사무실 개발 환경에서 문제가 없던 것이 클라이언트에서는 clob 데이터로 넘어온다는 것이다. to_char 로 감싸던가 아니면 mybatis .. sql 2014.09.19
오라클 누계 합수 정렬되면서 각 row 별 누계를 나타낸다. 특정 데이터에 대한 누계는 대상 테이블을 먼저 필터를 해야 한다. 알고 있으면 유용함. 오라클 누계 함수를 function 으로 관리해도 된다....... SELECT a.ref1 , SUM(SUM(a.val1)) OVER(ORDER BY a.ref1) AS 누계 FROM (select val1, ref1 from t where ref1 = '참조값') a GROUP BY a.ref1 sql 2014.05.13