오라클에서 특정 컬럼의 값에 대한 순위를 구하기 위해서 순위 함수(RANK, DENSE_RANK, ROW NUMBER)를 사용하면 된다. 순위 함수의 순위는 OVER 함수 내부의 ORDER BY 컬럼 값으로 결정된다. RANK() : 동일한 값이면 중복 순위를 부여하고, 다음 순위는 해당 중복 순위 개수만큼 다음 순위 값을 증가시킨 값으로 표시 DENSE_RANK() : 동일한 값인 경우 중복 순위를 부여한 후, 다음 순위는 중복 순위와 관계없이 순차적으로 다음 순위 값을 표시 ROW NUMBER() : 중복 관계 없이 순차적으로 순위를 표시 그룹별 순위 조회된 결과에서 그룹별로 순위를 부여해야 하는 경우에는 PARTITION BY절을 추가하면 해당 그룹내에서의 순위가 표시된다.
시노 님(SYNONYM)이란? 오라클(Oracle) 객체(테이블, 뷰, 시퀀스, 프로시저)에 대한 대체 이름(=별칭 즉, Alias)을 의미한다. 실질적으로 그 자체가 객체가 아닌 객체에 대한 직접적인 참조이다. 대체로 다른 유저(= 스키마)의 객체를 참조할 때 많이 사용. 예제) EMPLOYEE 테이블을 EMP라는 별칭을 주면 「SELECT * FROM EMP;」와 같이 다른 이름으로 접근할 수 있다. 다른 이름을 사용한 SQL은 테이블 본체의 이름이 바뀌어도 영향을 받지 않는다. 즉, EMPLOYEE라는 테이블명을 EMPLOYEES라고 변경을 하더라도 「SELECT * FROM EMP;」는 정상적으로 실행이 된다. 시노님을 사용하는 이유 ①데이터베이스의 투명성을 제공하기 위해 사용한다. ②실무에서 다..
INSTR(문자 단위), INSTRB(바이트 단위) : 오라클에서 특정 문자열의 위치를 알아야 할 때, 또는 SUBSTR를 사용할 때 특정 문자열에서의 인덱스 값을 구해야 할 때에 사용한다. - 찾는 단어가 없다면 0을 반환 - 찾는 단어의 앞글자의 인덱스를 반환 - 기본적으로는 왼쪽 -> 오른쪽으로 스캔 - 시작 위치에 음수를 사용할 경우, 오른쪽 -> 왼쪽으로 스캔 - 시작 위치와 검색할 횟수는 생략 가능(생략을 할 경우 Default = 1) INSTR() 함수 문자열에서 특정 문자열이 위치한 인덱스를 반환하는 함수이다. ・기본 문법 INSTR(문자열, 찾을 문자열) INSTR(문자열, 찾을 문자열, 시작 위치) INSTR(문자열, 찾을 문자열, 시작 위치, 발생 횟수) ・예시 /* EXAMPLE ..
트랜잭션(Transaction) - 트랜잭션은 데이터베이스(Database)에서 데이터를 처리의 한 단위를 의미한다. - 오라클 서버에서 발생하는 여러 개의 SQL문들이 하나의 논리적인 작업 단위로써, 성공하거나 실패하는 일련의 SQL문을 트랜잭션이라고 보면 된다. - 오라클 서버는 트랜잭션의 개념에 의해 데이터의 일관성을 보증하고, 안정적인 복구가 가능하다. - 트랜잭션은 데이터를 일관되게 변경하는 DML문장으로 구성된다. ※ DML문장 = COMMIT, ROLLBACK, SAVEPOINT, ROLLBACK TO 트랜잭션의 시작 시점 - 실행 가능한 SQL 문장이 제일 처음 실행될 때 트랜잭션의 종료 시점 - COMMIT이나 ROLLBACK - DDL이나 DCL문장의 실행(자동 COMMIT) - 기계 ..
오라클(Oracle)에서 테이블 생성(CREATE TABLE) 후, 데이터를 처리하는 기능 4가지인 조회(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 중 DELETE의 사용법과 예제에 대해서 메모 DELETE(삭제) : 테이블에 존재하는 행을 삭제하는 명령어. ※조건(WHERE절)을 지정하지 않을 경우, 테이블의 모든 행(=전체)의 내용이 삭제되기 때문에 주의! 만약 실수로 전체 컬럼이나, 어떤 컬럼을 수정했을 경우에는 오라클의 트랜잭션 기능인 [COMMIT/ROLLBACK]을 사용하여 데이터를 복구하면 된다! ・기본 문법 -- 기본 문법 DELETE FROM 테이블명 WHERE 조건 ・삭제 예시 /* EXAMPLE */ -- TestTable의 ID가 1005인 데이터..
오라클(Oracle)에서 테이블 생성(CREATE TABLE) 후, 데이터를 처리하는 기능 4가지인 조회(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 중 UPDATE의 사용법과 예제에 대해서 메모 UPDATE(수정) : 테이블(TABLE)에 존재하는 행의 내용을 수정하는 명령어. ※조건(WHERE절)을 지정하지 않을 경우, 테이블의 모든 행(=전체)의 내용이 수정되기 때문에 주의! 만약 실수로 전체 컬럼이나, 어떤 컬럼을 수정했을 경우에는 오라클의 트랜잭션 기능인 [COMMIT/ROLLBACK]을 사용하여 데이터를 복구하면 된다! ・기본 문법 -- 기본 문법 UPDATE 테이블명 SET 컬럼1 = 수정할 값, 컬럼2 = 수정할 값 WHERE 조건 ・조건을 지정해 컬럼을 ..
INSERT : 오라클(Oracle)에서 테이블 생성(CREATE TABLE) 후, 데이터를 처리하는 기능 4가지인 조회(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 중 INSERT의 사용법과 예제 INSERT(삽입) : 테이블(TABLE)에 새로운 행을 추가하는 명령어. ※ 추가할 때 괄호 안에 기재하는 컬럼의 개수와 데이터의 개수는 동일해야 함(N대 N)! ・기본 문법(하나의 데이터를 추가할 때) -- 기본 문법 INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES (데이터1, 데이터2) /* EXAMPLE */ -- ID가 123, NAME이 홍길동인 데이터를 TestTable에 삽입 INSERT INTO TestTable (ID, NAME) VALUES ..
SUBSTR(문자 단위), SUBSTRB(바이트 단위) : 오라클(Oracle)에서 SUBSTR과 SUBSTRB 함수는 문자열을 자를 때 사용하는 함수이다. 또한, 오라클에서는 LEFT, RIGHT 함수가 없기때문에 문자열 자르기를 SUBSTR/SUBSTRB를 이용해 잘라야한다. ■ SUBSTR()함수 : SUBSTR은 문자열인 CHAR의 시작위치부터 길이만큼 잘라낸 결과를 리턴한다. ・기본 문법 -- 기본 문법 SUBSTR(문자열, 시작 위치, 길이) ・왼쪽부터 문자열을 자르기 /* EXAMPLE */ -- 앞에서 두번째 문자부터 문자열 가져오기 SELECT SUBSTR('HELLO', 2) FROM DUAL; -- 결과 : ELLO -- 앞에서 두번째 문자부터 한글자 가져오기 SELECT SUBSTR..
- Total
- Today
- Yesterday
- BEGIN절
- Oracle
- in/out/ref 차이점
- 후나빙
- EXCEPTION절
- commit
- 시간차이
- 초기화파라미터파일
- grant
- REVOKE
- USER_SYS_PRIVS
- 유틸리티
- rollback
- in/out/ref
- PL/SQL 예외처리문
- vba
- 유틸리티에러
- pl/sql
- DBA_SYS_PRIVS
- VB.Net
- DECLARE절
- 동기통신
- PL/SQL 실행문
- NLog
- in/out/ref 예제
- TrimEnd
- 참조전달
- 에러
- C#
- in/out/ref 공통점
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |