2015.09.15 08:49
트랜잭션을 사용하면 ROLLBACK을 통해 트랜잭션을 걸기전 시점으로 돌아갈 수 있습니다. 트랜잭션을 걸고 몇개의 행이 영향을 받는지 확인한 후 COMMIT할 수 있기 때문에 실수를 방지할 수 있습니다.
그래서 현재 실 서비스 중인 DB작업이나 여러 쿼리가 모두 연계되어 오류없이 실행되어야할 때 와 같은 실수가 있어서는 안되는 작업에 사용됩니다.
아래와 같이 여러 쿼리를 넣어 실행해보고 오류가 없을 때 COMMIT 해주면 됩니다.
ROLLBACK을 진행하거나 ROLLBACK, COMMIT없이 연결이 닫히거나 삭제되면 ROLLBACK으로 처리되어집니다.
BEGIN
BEGIN TRAN
UPDATE 테이블1 SET 컬럼 = '변경값'
UPDATE 테이블2 SET 컬럼 = '변경값'
END
IF @@ERROR <> 0
ROLLBACK
ELSE COMMIT
END
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
10 | SQL 인젝션에 이용되는 XP_cmdshell 확장프로시져 삭제 방법 | dhkim | 2008.12.24 | 18515 |
9 | SQL 인젝션 치료용 커서 | dhkim | 2008.12.10 | 15078 |
8 | MS-SQL 개체 소유권 변경 | 레이쩡 | 2008.09.18 | 24883 |
7 | MS SQL 트랜잭션 로그를 줄이는 방법 | 레이쩡 | 2008.09.18 | 21236 |
6 | Microsoft Source Code Analyzer for SQL Injection 관련 자료 | dhkim | 2008.07.25 | 21540 |
5 | MDF파일만 있을 경우 복구하는 방법(SQL2000만 해당) | shpark | 2008.07.07 | 24686 |
4 | SQL Server 인덱스 설정의 효과 | dhkim | 2008.06.27 | 23597 |
3 | tempdb 복구 및 이동 방법 | hostway | 2008.05.15 | 22795 |
2 | 실행중인 Mssql 버젼 확인 | hostway | 2008.05.15 | 25318 |
1 | sql injection 보안 점검 | hostway | 2008.05.14 | 21727 |