1. PL/SQL (Procedural Language extension to SQL)
SQL을 확장한 절차적 언어(Procedural Language)이다. PL/SQL은 블록단위로 구성되며 논리적인 작업을 진행하는 여러 명령어들을 하나의 블록으로 만들어서 모듈식 프로그램 개발이 가능해진다.
2. 종류
Procedure, Function, Trigger
3. 트랜잭션(TCL) = 데이터베이스의 논리적 연산 단위
트랜잭션은 밀접힌 관련돼 분리될 수 없는 한 개 이상의 데이터베이스 조작을 가리킨다. 하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함된다.
DDL의 경우(CRATE, ALTER, DROP, RENAME, TRUNCATE 등) 자동으로 커밋됨.
데이터 베이스를 정상적으로 접속 종료하면 DML 자동으로 트랜잭션이 커밋된다.
애플리케이션의 이상 종료로 데이터베이스와 접속이 단절될 경우 자동 롤백된다.
1) COMMIT
(데이터 처리내역을 최종적으로 반영)
COMMIT [WORK];
2) ROLLBACK
(데이터베이스에 가해진 변경사항을 취소)
ROLLBACK [WORK] [TO [SAVEPOINT] 세이브포인트명];
--> COMMIT은 작업이 성공했을 때, ROLLBACK은 작업이 실패했을 때 작성
따라서 BEGIN 하단에 COMMIT을 명시하고 ROLLBACK은 예외처리와 함께 사용되므로 특정 예외가 발생했을 때 예외처리 구문에 ROLLBACK을 명시한다.
3) SAVEPOINT
( ROLLBACK을 명시하면 작업 전체가 취소되는데, 전체가 아닌 특정 부분에서 트랜잭션을 취소시킬 수 있다.)
취소하려는 지점을 명시하고 그 지점까지 작업을 취소하는 형태로 사용하는데 이 지점을 SAVEPOINT라고 함
4. 커서 (~ 시)
https://logical-code.tistory.com/53
https://goddaehee.tistory.com/99
https://logical-code.tistory.com/52?category=724583
'CS > DataBase' 카테고리의 다른 글
DB ConnectionPool (0) | 2022.12.30 |
---|---|
Lock 과 트랜잭션 동시성 제어 (0) | 2022.12.29 |
ORACLE 프로시저 (0) | 2022.12.21 |
MySQL data Directory의 위치 (0) | 2022.12.21 |
ORACLE 각종 쿼리 함수 (0) | 2022.01.11 |