Database/MS-SQL | Posted by 아키텍처 2014. 6. 24. 10:51

테이블 리네임처리(sp_rename 사용)

 
 

좋은 방법은 아니지만, 부득이하게 테이블의 명명을 변경해야 하는 경우가 있다.

 

필자의 경우 운영중인 테이블의 클론테이블을 만들고

해당 클론테이블에 최신정보를 입력하고, 운영중인 테이블과 교체하는 스케줄을 만들어 처리한적이 있다.

이상적인 작업은 아니지만, 해당 작업은 유용하게 사용되었다.

 

단 해당테이블의 인덱스명명 등은 변경이 아니므로 주의하여 사용하여야 한다.

필자의 경우 fulltextsearch 의 인덱스값으로 인해 리네임시 따로 해당부분까지 처리하여 사용하였다.

 

그럼 리네임처리의 방법을 알아보자.


BEGIN TRAN
EXEC sp_rename '원테이블명' , '템프테이블'
If @@Error <> 0 Begin
 Rollback
 Return
End
EXEC sp_rename '클론테이블명' , '원테이블명'
If @@Error <> 0 Begin
 Rollback
 Return
End
EXEC sp_rename '템프테이블' , '클론테이블명
If @@Error <> 0 Begin
 Rollback
 Return
End

COMMIT

Posted by 김준홍 (http://www.Juuun.com)