728x90

transaction 3

[DB/MSSQL] Try ~ Catch - Transaction,Throw

TRY, CATCH, FINALLYBEGIN TRY-- 실행할 명령문END TRYBEGIN CATCH-- 예외처리 명령문END CATCHTRYBEGIN TRY ~ END TRY로 감싸야 한다.오류가 발생할 가능성이 있는 실행할 명령문을 넣는다.오류 없이 실행이 END TRY 도달 시 CATCH를 생략하며, END CATCH문 뒤에 명령문을 실행한다.CATCHEND TRY 뒤에 바로 와야한다.BEGIN TRY ~ END CATCH로 감싸야 한다.TRY 블록에 오류 발생시 실행할 명령문을 넣는다.오류가 발생하면 즉시 CATCH 블록을 실행한다.END CATCH 도달 시, END CATCH문 뒤에 명령문을 실행한다.CATCH 블록에 의해 트랩된 오류는 응용 프로그램으로 리턴되지 않는다.추가 사항데이터베이스 연..

Computer/DB 2025.02.26

Database - 트랜잭션 격리 수준(Transaction Isolation Level)

트랜잭션 격리 수준(Transaction Isolation Level)Isolation Level트랜잭션에서 일관성 없는 데이터를 허용하도록 하는 수준이다.Isolation level의 필요성데이터베이스는 ACID 특징과 같이 트랜잭션이 독립적인 수행을 하도록 한다.따라서 Locking을 통해, 트랜잭션이 DB를 다루는 동안 다른 트랜잭션이 관여하지 못하도록 막는 것이 필요하다.하지만 무조건 Locking으로 동시에 수행되는 수많은 트랜잭션들을 순서대로 처리하는 방식으로 구현하게 되면 데이터베이스의 성능은 떨어지게 될 것이다.그렇다고 해서, 성능을 높이기 위해 Locking의 범위를 줄인다면, 잘못된 값이 처리될 문제가 발생하게 된다.Isolation level의 종류Read Uncommitted(레벨 ..

Computer/CS 2024.07.11

Database - DB 트랜잭션(Transaction)

DB 트랜잭션(Transaction)데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위이다.상태를 변화시킨다는 것은 SQL 질의어를 통해 DB에 접근하는 것을 의미한다.작업 단위많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것을 의미한다.트랜잭션의 특징원자성(Atomicity)트랜잭션이 DB에 모두 반영되거나, 혹은 전혀 반영되지 않아야 한다.일관성(Consistency)트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 한다.독립성(Isolation)둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 때, 어떤 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없다.지속성(Durability)트랜잭션이 성공적으로 완료되었으면, 결과는 영구적으로 반영되어야 한다.Commit하나의 트랜잭션이 성공적으로..

728x90