본문 바로가기
Web Programing!/Mssql

[MSSQL] begin tran 사용하기

by 어설픈봉봉이 2012. 3. 6.
반응형
SMALL



















[MSSQL] begin tran 사용하기






 실제 실무에서 DB를 만지다 보면 select, insert 등등 문제가 되질 않아요.

단. update, delete문이 문제가 되죠.

흔히들 실DB에서 자료를 다 날렸다느니 업데이트를 잘못쳐서 문제가 커졌다느니 하는 일은 다반사로 일어

나죠. ㅎㅎ 저도 그랬었었죠..ㅋㅋ 얼마나 뜨끔하던지....

DBMS를 사용하여 실DB를 컨트롤 하다보면  귀찮은것도 있고 바쁜이유도 있고 여러가지 이유로 백업을 안

해놓고 DB컨트롤을 하다가 날리거나 잘못고치는 수가 생기게 됩니다.

 그럴땐 begin tran 한줄만 써주면 되는데요.

 보통 업데이트를 할때



update 테이블명 set 바꿀필드명 - '값'

where 조건문





이렇게 쓰는데요. 흔히들 잘못 긁어서 where 절을 빼놓고 실행한다던지  아니면 아예 where절을 생각하지 

못하고 실행하게 되면 해당 테이블의 모든 값들이 바뀌게 되죠.

물론 해당 테이블에 삽입,삭제가 빈번히 일어나지 않는 테이블인경우 백업이 잘되어 있으면 상관없지만 빈

번히 쓰틑 테이블이라면 문제가 커지죠. 백업을 해놨어도 복구를 하는동안의 글들은 없어지게 마련입니다.

물론 백업해둔 테이블에 해당하는 필드면 업데이트를 치는 방법도 있지만 원천 봉쇄로 그런 실수를 하지

않는게 낫겠죠?ㅎㅎ

 begin tran 의 방법은 간단해요.



begin tran

 update 테이블명 set 바꿀필드명 - '값' 

where 조건문
 



이렇게 해당 쿼리문 앞에  begin tran 을 써주시면 됩니다. 

다만, 여기서 끝나는 것이 아니라 마지막에 해줘야할 일이 남아 있습니다.

보통 이런게 귀찮아서 잘 안쓰게 되죠.

쿼리문이 아무런 이상이 없다고 판단되면 commit; 이라고 실행한번 해주면 됩니다. 

또한, 만약 쿼리문이 잘못됐다??? 그러면 rollback; 이라고 실행해주시면 테이블에는 아무론 변화가

없이 그대로 있게됍니다.

쉽지만 귀찮은 사실~ㅋㅋ

하찮은 DB라도 실수하고 고치려면 많은 시간이 걸릴지도 모릅니다. 

조금의 귀차니즘을 이겨내면 편하게 지낼 수 있어요~ㅎㅎㅎ



반응형