Oracle 7

[Oracle] ORDER BY 사용 시, ROWNUM

ROWNUM 을 쓰는 쿼리에서 ORDER BY로 정렬을 하면 ROWNUM이 뒤죽박죽 되어버리는 경험을 한 적이 있을거다. 그럴 경우 아래와 같이 해보자! SELECT ROWNUM, A.* FROM ( SELECT NAME, ID FROM TEST ORDER BY NAME ASC ) A 아래와 같이 ROWNUM을 사용할 시 뒤죽박죽 이유는 SELECT실행 순서때문이다. SELECT ROWNUM, ID, NAME FROM TEST_DATE ORDER BY NAME SELECT 실행순서에 대해 자세한 내용을 확인하고 싶다면 아래의 링크 클릭! https://talking-potato-dev.tistory.com/46

DB/SQL 2023.05.23

[Oracle] SQL SELECT 쿼리 실행 순서

* SELECT 쿼리 실행 순서 : SQL 쿼리 실행 시, WHERE / GROUP BY / ORDER BY 절 등 구문을 실행하는데 순서가 존재한다. 실행 순서 FROM / JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY 1. FROM / JOIN 절 : 쿼리에서 첫번째 실행 순서는 FROM ! , 테이블 전체를 가져옴. 2. WHERE 절 : FROM절에서 읽어온 테이블에서 조건에 맞는 결과만 필터링 3. GROUP BY 절 : 필터링된 데이터들을 선택한 컬럼으로 그룹핑 4. HAVING 절 : 그룹핑 후 각 그룹에 사용되는 조건절. HAVING절은 각 그룹엥 조건을 걸기 때문에 퍼포먼스가 떨어지므로 주의해서 사용할 것. 5. SELECT 절 :..

DB/SQL 2023.05.10

[Oracle] 데이터 복구 쿼리(TIMESTAMP)

* 데이터를 실수로 변경 OR 삭제하고 COMMIT 했을 시, 데이터 복구하는 방법 * 기존 데이터 ( SELECT * FROM TEST) NAME AGE ID 홍길동 26 HONG@TEST.COM 기존데이터 이름을 실수로 고길동이라고 변경했다고 가정할 경우 테이블을 조회해보면 아래와 같다. * 변경된 데이터 (SELECT * FROM TEST) NAME AGE ID 고길동 26 HONG@TEST.COM 기존데이터 데이터를 확인하고 싶다면 아래와 같이 쿼리를 날리면된다. //10분전 NAME=홍길동인 데이터 SELECT SELECT * FROM test AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE) WHERE name = '홍길동' 결과 NAME AGE I..

DB/SQL 2023.05.04

[Oracle] 날짜 및 형식 변환(TO_CHAR)

* T0_CHAR(날짜 데이터 타입, '지정형식') : 날짜, 숫자 , 문자 값을 지정한 형식의 VARCHAR2 타입 문자열로 반환하는 함수. SYSDATE = 2023-05-03(수) 지정형식 설명 EX 결과 CC 세기 SELECT TO_CHAR(SYSDATE, 'CC') FROM DUAL; 21 YYYY or YYY or YY or Y 연도 SELECT TO_CHAR(SYSDATE, 'YYYY') FROM DUAL; 2023 YEAR 문자로 표혐된 연도 SELECT TO_CHAR(SYSDATE, 'YEAR') FROM DUAL; TWENTY TWENTY-THREE Q 분기 SELECT TO_CHAR(SYSDATE, 'Q') FROM DUAL; 2 MM 두 자리 값 월 SELECT TO_CHAR(SYS..

DB/SQL 2023.05.03

[암호화]패키지 소스 암호화

이전에 작성했던 DBMS_CRYPTO 패키지를 이용하여 데이터를 암/복호화하는 패키지 바디 소스를 암호화 하는 방법이다. DBMS_CRYPTO 패키지를 이용하여 데이터를 암/복호화 https://talking-potato-dev.tistory.com/14 [암호화] DBMS_CRYPTO 패키지를 이용하여 데이터 암/복호화 환경 : 오라클 11g * 각자의 환경에 맞게 경로를 바꿔 사용해 주시길 바랍니다. 1. CMD로 오라클 접속 (sys 계정으로 접속) C:\Users\말하는감자>sqlplus SQL*Plus: Release 11.2.0.2.0 Production on 수 11월 23 13:40:25 20 talking-potato-dev.tistory.com 1. 기존에 있던 패키지 바디를 아래와 같..

DB/SQL 2022.11.24

[암호화] DBMS_CRYPTO 패키지를 이용하여 데이터 암/복호화

환경 : 오라클 11g * 각자의 환경에 맞게 경로를 바꿔 사용해 주시길 바랍니다. 1. CMD로 오라클 접속 (sys 계정으로 접속) C:\Users\말하는감자>sqlplus SQL*Plus: Release 11.2.0.2.0 Production on 수 11월 23 13:40:25 2022 Copyright (c) 1982, 2014, Oracle. All rights reserved. Enter user-name: sys as sysdba Enter password: Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production 2. DBMS_CRYPTO 패키지 생성 @/home/oracle/app/ora..

DB/SQL 2022.11.24