IT정리노트

블로그 이미지

Edward. K

메멘토적 기억능력을 소유한 개발자 노트.

'DB/Oracle'에 해당되는 글 61건

제목 날짜
  • 등록한 휴일( 창립기념일등..) 과 주말(토,일)을 제외한 월의 마지막 업무일 N일 구하기 2024.04.22
  • 오라클 프로시저 목록1 2021.01.22
  • [계층형 쿼리] START WITH ~ CONNECT BY1 2020.07.28
  • [ORACLE] 삭제, COMMIT 이후의 데이터 복구 (TIMESTAMP) 2020.07.09
  • TABLE 복제 2019.04.04

등록한 휴일( 창립기념일등..) 과 주말(토,일)을 제외한 월의 마지막 업무일 N일 구하기

DB/Oracle 2024. 4. 22. 16:39
반응형

 

등록한 휴일( 창립기념일등..) 과  주말(토,일)을 제외한    달의 마지막 4일 구하기

     WITH TB_HOLIDAY  AS (
               SELECT '20230703' AS ST_HOLIDAY_CD, '휴일1' ST_HOLIDAY_NM  FROM DUAL
               UNION SELECT '20230703' AS ST_HOLIDAY_CD, '휴일2' ST_HOLIDAY_NM  FROM DUAL
               UNION SELECT '20230713' AS ST_HOLIDAY_CD, '휴일3' ST_HOLIDAY_NM  FROM DUAL
               UNION SELECT '20230723' AS ST_HOLIDAY_CD, '휴일4' ST_HOLIDAY_NM  FROM DUAL
               UNION SELECT '20230726' AS ST_HOLIDAY_CD, '휴일5' ST_HOLIDAY_NM  FROM DUAL
               UNION SELECT '20230728' AS ST_HOLIDAY_CD, '휴일6' ST_HOLIDAY_NM  FROM DUAL
     )
     select v_date
     from  
     (
         select v_date
         from  
         (        
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') )     , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ),    'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL  
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -1 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -1, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -2 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -2, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -3 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -3, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -4 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -4, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -5 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -5, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -6 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -6, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -7 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -7, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -8 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -8, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -9 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -9, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL    
           UNION
              SELECT TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -10 , 'yyyymmdd')  v_date , DECODE ( TO_CHAR( LAST_DAY( TO_DATE( '202307', 'yyyymm') ) -10, 'D'), '1','Y','7','Y','X') isweeekd               FROM DUAL  
         ) b
         WHERE b.isweeekd = 'X'
           AND  b.v_date not in ( select st_holiday_cd from TB_HOLIDAY where st_holiday_cd   like substr( '202307', 1,6 ) || '%' )
         ORDER BY b.v_date desc
     )
     WHERE rownum <= 4
반응형
Posted by Edward. K

오라클 프로시저 목록

DB/Oracle 2021. 1. 22. 16:38
반응형
     SELECT OBJECT_NAME, STATUS 
           , TO_CHAR(CREATED,'YYYY-MM-DD HH24:mi:ss') as CREATED 
           , TO_CHAR(LAST_DDL_TIME,'YYYY-MM-DD HH24:mi:ss') as LAST_DDL_TIME 
     FROM USER_OBJECTS  
     WHERE  OBJECT_TYPE = 'PROCEDURE' 
        AND OBJECT_NAME LIKE '%PRO_IF_T_%'
반응형
Posted by Edward. K

[계층형 쿼리] START WITH ~ CONNECT BY

DB/Oracle 2020. 7. 28. 11:04
반응형

주문 > 취소 관계아 아래  데이터와 같을때..
START WITH ~ CONNECT BY 절을 사용하여 하나의 주문에 엮여 있는 취소 건들을 하나로 조회할 수있다.

[주문정보] * 주문정보가 있어야 취소가 가능하다.

SELECT
	  A."주문번호"
	, A."원주문번호"
	, B."주문상품순번"
	, DECODE(A."구분", 1, '매출', 2, '취소') AS    "주문구분"
	, B."금액합계"
	, A."주문일"    
FROM
	주문_마스터 A,
	주문_상품 B
WHERE 1=1
	AND A."주문번호" = B."주문번호"
	AND A."주문번호" =  'OR00000000000001' -- 주문번호 


[취소정보] 

SELECT
	  A."주문번호"
	, A."원주문번호"
	, B."주문상품순번"
	, DECODE(A."구분", 1, '매출', 2, '취소') AS    "주문구분"
	, B."금액합계"
	, A."주문일" 
FROM
	주문_마스터 A,
	주문_상품 B
WHERE 1=1
	AND A."주문번호" = B."주문번호"
	AND A."원주문번호" =  'OR00000000000001'  -- 주문번호 
   

원주문번호 'OR00000000000001' 의 취소 주문번호인 'OR00000000000011' 의 번호로,
원주문번호에 엮인 주문건들의 합을 조회해보자.

[최상위 (매출)주문번호 하위의 주문(취소)정보들 가져오기]

 SELECT 
	  A."주문번호"
	, A."원주문번호"
	, B."주문상품순번"
	, DECODE(A."구분", 1, '매출', 2, '취소') AS    "주문구분"
	, B."금액합계"
	, A."주문일"
FROM
	주문_마스터 A,
	주문_상품 B
WHERE 1=1
	AND A."주문번호" = B."주문번호"
START WITH
	A."주문번호" = ( SELECT	MAX (Z."주문번호") 
                        FROM	주문_마스터 Z 
                        START WITH  Z."주문번호" = 'OR00000000000011'    --.ORD_NO = 'OR20170800011597'  인 값에서..
                        CONNECT BY PRIOR Z."원주문번호"  = Z."주문번호"    -- ORI_ORD_NO 아래의 ORD_NO를 연결하고.
                        GROUP BY CONNECT_BY_ISLEAF   -- 자식 노드가 있으면 1, 없으면 0 
                        HAVING 	CONNECT_BY_ISLEAF = '1'  
                     )
CONNECT BY  PRIOR A."주문번호" = A."원주문번호"   -- "주문번호" 아래의 "원주문번호"  
        AND PRIOR B."주문상품순번 = B."주문상품순번   
       

ㅜ.ㅜ 쿼리는 언제나 어려워......

START WITH  : 어떤 데이터로 계층구조를 지정할 것인가? 
                  가장 처음에 데이터를 거르는 플랜을 타게 되기때문에 해당 컬럼에는 인덱스가 걸려있어야 한다.
CONNECT BY : 각 행들의 연결 관계를 설정 ( 결과에는 LEVEL 이라는 컬럼이 있으며, 이는 계층의 깊이를 의미한다.

반응형
Posted by Edward. K

[ORACLE] 삭제, COMMIT 이후의 데이터 복구 (TIMESTAMP)

DB/Oracle 2020. 7. 9. 12:46
반응형

실수로 데이터를 삭제(DELETE) 하고 COMMIT 까지 완료한 경우
 삭제 전의 데이터를 TIMESTAMP를 사용하여 조회/복구 할 수 있으니..당황하지 말자..

-- 1. 데이터 삭제
    DELETE FROM T_OUT;   --
    COMMIT:

-- 2. 삭제 5분 전 데이터 복구 
   INSERT INTO T_OUT (AA,BB,CC,REG_DT)
   SELECT AA,BB,CC,REG_DT FROM T_OUT AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '5' MINUTE)
    --     SECOND, MINUTE, HOUR, DAY
    

 

반응형
Posted by Edward. K

TABLE 복제

DB/Oracle 2019. 4. 4. 17:53
반응형

           CREATE TABLE TEMP_TBL_TEST
             tablespace tlbsid AS 
             SELECT * FROM TBL_TEST WHERE 1=0

반응형
Posted by Edward. K
이전페이지 다음페이지
블로그 이미지

메멘토적 기억능력을 소유한 개발자 노트.

by Edward. K

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • tomcat
  • 캡쳐툴
  • Eclipse
  • 사업 이야기
  • EkNote
  • Graphic
  • egov
  • Jboss
  • ERwin
  • STS
  • 이클립스
  • flex
  • EditPlus
  • rocketdock
  • 미네르바
  • 이미지 편집
  • 컴퓨터 관리
  • android
  • iBATIS
  • 개한민국
  • netbeans
  • Flash Player
  • 색상코드표
  • 플래시 게임
  • sqlgate
  • 전자정부프레임워크
  • 가상화폐무료
  • 중독성게임
  • toad
  • eclipse plugin

글 보관함

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

링크

카테고리

분류 전체보기 (792)
행운이와함께 (1)
EkNote Project (18)
ARIS (0)
Android (2)
LINK (39)
UML (9)
Programming (154)
Cobol (0)
ASP (0)
CSS (5)
C_C++ (2)
IBatis (2)
JSP (3)
JAVA (76)
JavaScript (44)
PHP (2)
Utility (76)
Protable (3)
MobileProgram (4)
SKT (0)
KTF (0)
LGT (0)
자료들 (4)
DB (82)
mongoDB (0)
MySQL (8)
Oracle (61)
MSSQL (4)
Graphic (8)
Flash (3)
PhotoShop (3)
SourceFactory (4)
Collection (73)
작가의기막힌상상력 (14)
미소를찾아보는공간 (44)
내심장은작동중일까 (6)
멀더와스컬리의노트 (3)
이건어디에사용할까 (6)
Edward (275)
나만 알기엔 아까워 (100)
기억하기 위한 기록 (123)
시선이 머무는 공간 (50)
숨기고 싶은 이야기 (2)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
Edward. K's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

IT정리노트

메멘토적 기억능력을 소유한 개발자 노트.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (792)
    • 행운이와함께 (1)
    • EkNote Project (18)
    • ARIS (0)
    • Android (2)
    • LINK (39)
    • UML (9)
    • Programming (154)
      • Cobol (0)
      • ASP (0)
      • CSS (5)
      • C_C++ (2)
      • IBatis (2)
      • JSP (3)
      • JAVA (76)
      • JavaScript (44)
      • PHP (2)
    • Utility (76)
      • Protable (3)
    • MobileProgram (4)
      • SKT (0)
      • KTF (0)
      • LGT (0)
      • 자료들 (4)
    • DB (82)
      • mongoDB (0)
      • MySQL (8)
      • Oracle (61)
      • MSSQL (4)
    • Graphic (8)
      • Flash (3)
      • PhotoShop (3)
    • SourceFactory (4)
    • Collection (73)
      • 작가의기막힌상상력 (14)
      • 미소를찾아보는공간 (44)
      • 내심장은작동중일까 (6)
      • 멀더와스컬리의노트 (3)
      • 이건어디에사용할까 (6)
    • Edward (275)
      • 나만 알기엔 아까워 (100)
      • 기억하기 위한 기록 (123)
      • 시선이 머무는 공간 (50)
      • 숨기고 싶은 이야기 (2)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바