[오라클] DML, TCL
by 무작정 개발반응형
2022.01.26(27일 차)
DML(date mipulation language) - 데이터 조작 언어
종류
- INSERT - 데이터 삽입
- UPDATE - 데이터 수정
- DELETE - 데이터 삭제
- SELECT - 데이터 검색
INSERT - 데이터 삽입
문제
INSERT 구문
구문
|
특징
|
INSERT INTO
|
1개의 테이블에 1개의 행을 입력하기
|
INSERT SELECT
|
테이블2에서 검색한 컬럼의 데이터들을 테이블1의 컬럼에 삽입
|
INSERT ALL INTO
|
여러 테이블에 여러 행 입력, 다른 테이블에 동시에 같은 행 입력하기
|
UPDATE - 데이터 수정
DELETE - 데이터 삭제
문제
DML 문장 실행 시 에러
TCL (Transaction Control Language)
- DCL(Data Control Language)에서 트랜잭션을 제어하는 명령인 COMMIT과 ROLLBACK만을 따로 분리해서 TCL이라고 표현하고 있습니다.
- commit (save랑 같다) , rollback (취소의 개념) --DB에서는 매우 중요하다!!
트랜잭션
- 트랜잭션: DBMS에서 데이터를 다루는 논리적인 작업의 단위
- DB에서 데이터를 다룰 때 장애가 일어난 경우 데이터를 복구하는 작업의 단위가 된다.
- DB에서 여러 작업이 동시에 같은 데이터를 다룰 때가 이 작업을 서로 분리하는 단위가 된다.
- 트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 한다.(All or Nothing)
https://mangkyu.tistory.com/30 --> 출처
트랜잭션이란 위의 1~8번째 작업을 다 해야 트랜잭션을 다 했다고 한다.
만약에 5번에서 에러가 났으면 2가지 방법이 있다. 그 해당 에러까지 한 작업을 전체 취소를 한다.(ROLLBACK)
DB의 움직임을 기록해놓은 것이 트랜잭션 LOG이다. 그래서 에러가 나면 DB가 LOG를 찾아가서 도중에 난 에러면 ROLLBACK을 한다.
트랜잭션 LOG은 최소 단위는 3초이다. 3초 단위로 움직임을 기록하는 것이다. 그래서 대부분 복구가 가능하다.
사용자가 아무것도 안 해도 3초 단위로 움직임을 기록한다.
트랜잭션은 INSERT, DELETE, UPDATE 할 때 가능
CREATE는 생성 순간 자동 커밋돼서 ROLLBACK이 안된다.
반응형
'DataBase > Oracle' 카테고리의 다른 글
SQL 연습 문제 풀이 (2) (0) | 2022.01.27 |
---|---|
SQL 연습 문제 풀이 (1) (0) | 2022.01.27 |
[오라클] JOIN ( EQUI JOIN, INNER JOIN, NON-EQUI JOIN, OUTER JOIN, SELF JOIN) (0) | 2022.01.25 |
[오라클] 숫자 함수, 문자 함수, 분석 함수, 그룹 함수(GROUP BY, HAVING) (0) | 2022.01.24 |
[오라클] SQL 명령어, 연산자 (1) | 2022.01.21 |
블로그의 정보
무작정 개발
무작정 개발