: DELETE FROM 테이블명
WHERE 조건절
: 테이블 합병
=> 구조가 같은 두 테이블을 하나의 테이블로
합하는 기능
.기존 테이블에 자료가 존재하는 경우 : 새로운 값으로 UPDATE(갱신)
.자료가 존재하지 않는 경우 : 새로운 행으로 INSERT(추가)
. 형식
MERGE INTO (변경할 테이블명) //값을 변경할 테이블을 선언한다.
USING(값을 가져올 테이블명) //어디에서 값을 가져올지 명시해준다.
ON (조인 조건) //조인 조건을 명시해준다.
WHEN MATCHED THEN //매치되는 값들이 있을 때에
UPDATE SET -업데이트(수정)한다.
컬럼1 = 값1, -컬럼1에 값1을 대치함
컬럼2 = 값2,
WHEN NOT MATCHED THEN //매치되는 값들이 없을 때
INSERT (컬럼1, 컬럼2...)
VALUES (값1,값2...) //새로운 값 삽입
MERGE INTO emp_01 e
USING emp_03 m
ON(e.empno=m.empno)
WHEN MATCHED THEN
UPDATE SET
e.ename = m.ename,
e.job = m.job,
e.mgr = m.mgr,
e.hiredate =m.hiredate,
e.sal =m.sal,
e.comm= m.comm,
e.deptno =m.deptno
WHEN NOT MATCHED THEN
INSERT VALUES (m.empno,m.ename,m.job,m.mgr,
m.hiredate,m.sal,m.comm,m.deptno);
: 데이터베이스에서 트렌젝션이란 데이터 처리의 한 단위를 말한다
오라클에서 발생하는 여러개의 SQL 명령문을 하나의
작업 단위로 처리하는데 이를 트렌젝션이라고 한다.
트렌젝션은 '하나의 논리적인 작업단위로 수행되는 일련의 작업'
으로 정의한다.
트렌젝션은 ACID라고 불리는 특성이 있다.
1. Atomicoty(원자성) : 트렌젝션은 분리할 수 없는 하나의 단위이다.
작업이 모두 수행되거나 하나도 수행되지 않아야 한다.
All or Nothing
2. Consistency(일관성) : 트렌젝션에서 사용되는 모든 데이터는 일관되어야 한다.
3. Isolation(격리성) : 현재 트렌젝션에 접근하고 있는 데이터는
(독립성) 다른 트렌젝션으로 부터 격리되어야 한다.
(트렌젝션이 일어나면 완료되기 전까지는 다른
트렌젝션이 참조할 수 없다.)
4. Durability(영속성) : 트렌젝션이 정상적으로 종료되면
(지속성) 그 결과는 시스템 오류가 발생하더라도 시스템에
(내구성) 영구적으로 적용되어야 한다.
. 트렌젝션 명령어
. COMMIT : commit은 트렌젝션의 처음과 끝을 나타낸다.
즉 commit ~ commit 까지가 TRANSACTION 이다.
. ROLLBACK : ROLLBACK은 트렌젝션을 취소하고 난 뒤
처음부터 다시 시작하거나 SAVEPOINT부터 취소하고
다시 되돌리는 기능을 한다
. SAVAPOINT : 세이브 포인트는 현재까지의 트렌젝션을
특정 이름으로 저장할 때 사용한다.
. COMMIT 명령어와 ROLLBACK 명령어의 장점
. 데이터 무결성이 보장됩니다.
. 영구적인 변경전에 데이터의 변경사항을 확인할 수 있습니다.
. 논리적으로 연관된 작업을 그룹화할 수 있습니다.
. COMMIT
. TRANSACTION (INSERT, UPDATE, DELETE) 작업내용을
실제 데이터베이스에 저장합니다.
. 이전 데이터가 완전히 업데이트 됩니다.
. 모든 사용자가 변경된 데이터의 결과를 볼 수 있습니다.
. ROLLBACK
. TRANSACTION(INSERT, UPDATE, DELETE) 작업내용을 취소합니다.
. 이전에 COMMIT 한 곳 까지만 복구합니다.
. 자동 COMMIT과 자동 ROLLBACK 명령이 되는 경우
. SQLPLUS가 정상 종료 되었다면 자동 COMMIT되지만 비정상 종료 되었다면
자동 ROLLBACK 됩니다.
. DDL과 DCL 명령문이 수행된 경우 자동으로 COMMIT 됩니다.
. 정전이 발생하거나 컴퓨터 다운시 자동으로 ROLLBACK 됩니다.