본문 바로가기

oracle

오라클 달력 및 날짜 테이블 오라클에서 통계 관련 쿼리를 작성하다보면,기간성 정보 기준으로 데이터를 도출해야할 경우가 있다. 예를 들자면 (일간, 월간, 년간)하지만 영업일이 없었던 경우 0 원으로 표시해야하거나 주말같은 경우는 뭔가 표시를 해주어야 하는데,이게 필요할 때 찾으면 없거나 보통 귀찮은일이 아님.해서 테이블부터 데이터 등록 PL/SQL 까지 같이 올림. 그냥 바로 돌리시면 됩니다.^^CREATE TABLE DATE_STANDARD ( YEAR_ID CHAR(4..
오라클 11g 문자열 연결 (횡) 가끔 데이터 조회 결과를 1:N 인데 1:1 로 합쳐서 표시할때 유용하다.예제는 다음과 같다./* 엘클라시코 포워드 라인업 */ /* 오라클 11g 기준 문자열 연결 예제 (LISTAGG .. ) */ WITH EL_CLASICO_FORWARD_LINE_UP AS ( SELECT '크리스티아누 호날두' AS PLAYER, '레알 마드리드' AS CLUB FROM DUAL UNION ALL SELECT '가레스 베일..
오라클 DIRECT-PATH INSERT (인서트 성능향상) 먼저 DIRECT-PATH INSERT 에 대한 구조를 대략적으로나마 이해하면 좋을 듯 싶다.나도 데이토의 올라온 내용을 따라해보고 까먹을까봐 일단 예제 순서만 메모.해당 세션에 패러렐 DML 허용;임시 테이블에 로깅해제;APPENT 힌트 사용테이블 로깅;다시 패러렐 DML 비허용여기에 대한 관련 링크들은 다음과 같음.INSERT 유형 (DIRECT-PATH INSERT)오라클 INSERT 속도 개선
오라클 쿼리 수행계획 확인 오라클에서 쿼리 수행계획을 찾다보니 확인하고,다음과 같이 샘플 예제를 넣어서 확인해버릇 해야겠다.내가 이해하기로는 크게 3 블럭으로 나눈다.PLAN_TABLE(플랜계획내용을 저장하는 테이블) 에 STATEMENT_ID 를 부여실행할 쿼리플랜계획내용 조회 SET SERVEROUTPUT ON; EXPLAIN PLAN SET statement_id = 'EX1' INTO PLAN_TABLE FOR SELECT * FROM "대상테이블" /* 수행계획을..
sqldeveloper - locale not recognized Mac OS 에서 sqldeveloper 로 접속시 locale not recognized 에러머세지로 연결불가.아마 로케일 문제인듯.설치된 sqldeveloper 는 영문판임.구글링중 발견.{sqldeveloper 설치위치}/Contents/Resources/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf파일을 열고 VMOption 에서 AddVMOption -Duser.language=koAddVMO..
오라클 조인 업데이트 (다중업데이트) - Case 1 오라클에서 데이터를 다중 조건에 맞게 업데이트하기 위한 방법중 첫번째.SET 절과 (WHERE, AND) 조건 절과 동일한 내용으로 업데이트 쿼리를 수행.샘플 데이터는 다음과 같다.테이블 : JKUN위 테이블에서 업데이트 대상은 NUM_1 필드(전체)이다.이 데이터들을 순번으로 업데이트 할 예정.다음은 가상 데이터 SELECT 1 AS RN, 4 AS NUM_SEQ FROM DUAL UNION ALL SELECT 2 AS ..
오라클 WITH WITH 구문내의 쿼리 결과를 Alias 를 지정하여 이어서 SELECT 절과 이용.옵티마이저에서 인라인뷰나 임시테이블로 여김.WITH WITH_EX AS ( SELECT ROWNUM R, 'TEST1' STR, SYSDATE DT FROM DUAL UNION ALL SELECT ROWNUM, 'TEST2', SYSDATE FROM DUAL UNION ALL SELECT ROWNUM, 'TEST3', SYSDATE FROM DUAL..
오라클 시퀀스 ( Sequence ) 오라클 시퀀스 정리구루비 강좌 : 시퀀스(Sequence)의 이해 및 활용아래 내용은 심플하게 정리된 포스팅입니다.출처 : 오라클 sequence 의 사용이유와 주의점 ( http://javakorea.tistory.com/175 ) 시퀀스 사용이유가 데이터 입력시 동시성 때문에 register가 겹칠때 이를 방지 하기 위해 commit이 완료되지 않더라도 시퀀스를 사용하면 여러사용자가 중복되지않은 register(회원가입번호) 를..