IT정리노트

블로그 이미지

Edward. K

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

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

제목 날짜
  • 오라클 프로시저 목록(1) 2021.01.22
  • [계층형 쿼리] START WITH ~ CONNECT BY(1) 2020.07.28
  • [ORACLE] 삭제, COMMIT 이후의 데이터 복구 (TIMESTAMP) 2020.07.09
  • TABLE 복제 2019.04.04
  • 정규표현식 함수 REGEXP_SUBSTR Feat. CONNECT BY 2019.02.07

오라클 프로시저 목록

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

정규표현식 함수 REGEXP_SUBSTR Feat. CONNECT BY

DB/Oracle 2019. 2. 7. 11:11

REGEXP_SUBSTR(COLUMN, [REG_EXP], [START_INDEX], [GROUP_INDEX])

COLUMN : 컬럼명
REG_EXP : 정규표현식    [^@]+ :  @ 기준으로 split
START_INDEX : 정규표현식을 검색할 문자열의 시작 INDEX  지정. 
GROUP_INDEX : 해당 정규표현식으로 잘라진 그룹이 2개 이상이라면 INDEX 를 지정해 그룹을 선택할 수 있다.

SELECT   REGEXP_SUBSTR('retriver@gmail.com', '[^@]+', 1, 1) AS EMAIL_ID       -- 'r' 부터 검색
       , REGEXP_SUBSTR('retriver@gmail.com', '[^@]+', 3, 1) AS EMAIL_ID_CUT   -- 't' 부터 검색
       , REGEXP_SUBSTR('retriver@gmail.com', '[^@]+', 1, 2) AS EMAIL_DOMAIN
FROM DUAL


[Study] 구분자(^)로 구분한 값들을 분리하여 가져오기

SELECT   REGEXP_SUBSTR('0001^0002^0003','[^^]+', 1, 1) AS COL_1
       , REGEXP_SUBSTR('0001^0002^0003','[^^]+', 1, 2) AS COL_2
       , REGEXP_SUBSTR('0001^0002^0003','[^^]+', 1, 3) AS COL_3 
FROM DUAL


[Study] Connect By 를 사용하여 list형태로 가져오기 

SELECT REGEXP_SUBSTR('0001^0002^0003','[^^]+', 1, LEVEL) COL FROM DUAL
CONNECT BY REGEXP_SUBSTR('0001^0002^0003', '[^^]+', 1, LEVEL) IS NOT NULL

 

 

특정문자만 추출

 SELECT  A.TEST_NM, REGEXP_REPLACE(A.TEST_NM, '[^0-9,-]') AS TEST_TEL
 FROM  TEST A

     TEST_NM            |   TEST_TEL
기업은행(1566-2566)   | 1566-2566
국민은행(1599-9999)   | 1599-9999

 

저작자표시 비영리 변경금지
  • 카카오스토리
  • 트위터
  • 페이스북
Posted by Edward. K

이전페이지 다음페이지
블로그 이미지

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

by Edward. K

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • linux ls 날자 형식 변경 + 파일사이즈 형식 변경 1
  • linux 설치된 APACHE HTTPD, TOMCAT 버전 확⋯
  • 통신(포트) 상태 확인 > ping, telnet, echo ⋯
  • Referenced file contains errors (ht⋯
  • 이클립스에서 SVN 연결 해제.
  • 더 보기
  • # Local Network Messenger 'LanChat'⋯
    낸쳇 ㆍ 01.19
  • 너무 좋은 글입니다!
    More ㆍ 11.06
  • 참 별것도 아닌게 신경쓰였는데 신기하네요 그림판이 켜었었습니다.
    감사 ㆍ 10.12
  • 감사합니다! 기존에 그림판이 켜 있을 때 종료한 경우, 다음에 ⋯
    굴링굴링 ㆍ 10.11
  • 와 같은 증상이었는데 그림판이 범인이었습니다. 감사합니다!
    도시괴담 ㆍ 09.10

태그

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

글 보관함


  • 2021/12
    (3)

  • 2021/11
    (7)

  • 2021/09
    (1)
«   2023/01   »
일 월 화 수 목 금 토
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

링크

카테고리

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

카운터

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

IT정리노트

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

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

관리자 메뉴

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

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바