개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

- INCREMENT BY n : 시퀀스 번호의 증가치로 기본은 1,  일반적으로 –1 사용
- START WITH n : 시퀀스 시작번호, 기본값은 1
- MAXVALUE n : 생성 가능한 시퀀스의 최대값
- MAXVALUE n : 시퀀스 번호를 순환적으로 사용하는 cycle로 지정한 경우, MAXVALUE에 도달한 후 새로 시작하는 시퀀스값
- CYCLE | NOCYCLE : MAXVALUE 또는 MINVALUE에 도달한 후 시퀀스의 순환적인 시퀀스 번호의 생성 여부 지정
-
CACHE n | NOCACHE : 시퀀스 생성 속도 개선을 위해 메모리에 캐쉬하는 시퀀스 개수, 기본값은 20

 

 

 

* 사용 예
- 시작번호는 1, 증가치는 1, 최대 값은 2인 s_seq 시퀀스를 생성하여라​


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 시퀀스 개요

 

- 유일한 식별자
- 기본 키 값을 자동으로 생성하기 위하여 일련번호 생성 객체
- 예를 들면, 웹 게시판에서 글이 등록되는 순서대로 번호를 하나씩 할당하여 기본키로 지정하고자 할때 시퀀스를 편리하게 이용
- 여러 테이블에서 공유 가능


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* ROLLBACK 개요

- 하나의 트랜잭션에서 실행된 SQL 명령문의 처리결과를 취소
- CPU,메모리 같은 해당 트랜잭션에 할당된 자원을 해제, 트랜잭션을 강제 종료 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* COMMIT 개요

 - 하나의 트랜잭션에서 실행되는 모든 SQL 명령문의 처리 결과가  하드디스크에 안전하게 보장되는 것을 보장
- 처리 결과를 디스크에 영구적으로 저장
- 해당 트랜잭션에 할당된 CPU, 메모리 같은 자원이 해제
- 서로 다른 트랜잭션을 구분하는 기준
- COMMIT 명령문 실행하기 전에 하나의 트랜잭션 변경한 결과를 다른 트랜잭션에서 접근할 수 없도록 방지하여 일관성 유지 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 트랜잭션 개요
- 관계형 데이터베이스에서 실행되는 여러 개의 SQL명령문을

하나의 논리적 작업 단위로 처리하는 개념
- COMMIT : 트랜잭션의 정상적인 종료
- ROLLBACK : 트랜잭션의 전체 취소

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

- MERGE INTO : 하나의 테이블로 합치기 위한 결과 테이블
- USING : 테이블, 뷰, 서브쿼리에 대한 별명 지정
- ON : 조인 조건 지정
- WHEN MATCHED THEN : ON 절의 조인 조건을 만족하는 행 존재하면지정된 값으로 행을 UPDATE
- WHEN NOT MATCHED THEN:ON 절의 조인 조건을 만족하지 않을 경우 새로운 행으로 INSERT
-
WHEN MATCHED THEN 절과 WHEN NOT MATCHED THEN 절에서는 테이블이나 뷰 이름 대신에 USiNG 절에서 지정한 별명 사용

 

 

 

 

* 사용 예
- professor 테이블과 professor_temp 테이블을 비교하여 professor 테이블에 있는 기존 데이터는 professor_temp 테이블의 데이터에 의해 수정하고, professor 테이블에 없는 데이터는 신규로 입력한다.


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* MERGE 개요

- 구조가 같은 두개의 테이블을 비교하여 하나의 테이블로 합치기 위한 데이터 조작어
- WHEN 절의 조건절에서 결과 테이블에 해당 행이 존재하면 UPDATE 명령문에 의해 새로운 값으로 

수정,그렇지 않으면 INSERT 명령문으로 새로운 행을 삽입
- 대량의 데이터를 분석하기 위한 업무에 유용
- 예를 들면, 
전자상거래 회사에서 하루 수만건의 데이터를 평소에는 판매 데이터를 월 단위로 분리하여 별도의 테이블에서 관리하다가 연말에 판매 실적 분석을 위해 하나의 테이블로 합치는 경우  


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 서브쿼리를 이용한 데이터 삭제 개요
- WHERE 절에서 서브쿼리 이용
- 다른 테이블에 저장된 데이터를 검색하여 한꺼번에 여러행의 내용을 삭제 함
- WHERE 절의 칼럼 이름은 서브쿼리의 칼럼 이름과 달라도 됨
- 데이터 타입과 칼럼 수는 일치

 

 

* 사용 예
- 학생 테이블에서 컴퓨터공학과에 소속된 학생을 모두 삭제하여라


 

 

+ Recent posts