개체 이름 변경
사용자가 만든 개체의 이름을 변경할 수 있습니다. 개체 이름을 변경하면 스크립트나 저장 프로시저가 작동되지 않을 수 있으므로 사전에 충분한 확인이 필요합니다. 그리고 저장 프로시저, 트리거, 사용자 정의 함수, 뷰는 이름을 변경하지 않는 것이 좋습니다. 대신 개체를 삭제하고 새로운 이름으로 다시 만듭니다.
n 테이블 이름 변경하기
[따라하기] 테이블 이름 변경하기 |
EXEC sp_rename 'Territories', 'Territs' GO |
n 인덱스 이름 변경하기
표준화된 명명 규칙에 따라 인덱스의 이름을 변경할 수 있습니다. 또한 예를 들어, 쿼리에서 강제로 어떤 인덱스를 사용하도록 인덱스 힌트를 사용한 경우에 인덱스의 이름에 HINT 접두어를 추가하여 표시함으로써 DBA가 임의로 인덱스를 변경하지 않도록 경고할 때 사용할 수도 있습니다.
[따라하기] 인덱스 이름 변경하기 |
EXEC sp_rename 'Customers.PostalCode', 'IX_ZipCode', 'INDEX' GO |
n 제약 조건 이름 변경하기
sp_rename을 사용하여 Customer 테이블을 Customers_Old으로 테이블 이름을 변경한 후에, Customers 테이블을 새로 만든다고 가정합니다. 데이터베이스 내에서 인덱스의 이름은 중복 가능하지만, PRIMARY KEY 제약 조건의 이름은 고유해야 합니다. 이런 경우에 Customers_Old 테이블의 PRIMARY KEY 제약 조건의 이름을 PK_Customers에서 PK_Customerd_Old로 변경하면, 새로 만드는 Customers 테이블에 PK_Customers라는 이름의 제약조건을 만들 수 있습니다.
[따라하기] 제약 조건 이름 변경하기 |
EXEC sp_rename 'Customers_Old.PK_Customers', 'PK_Customers_Old' GO |
n 저장 프로시저, 뷰, 트리거 이름 변경하기
저장 프로시저 및 뷰의 이름을 변경하면, 프로시저 캐시를 플러시하여 모든 종속 저장 프로시저 및 뷰가 재컴파일 됩니다.
저장 프로시저, 사용자 함수, 뷰 또는 트리거의 이름을 변경해도 sys.sql_modules 카탈로그 뷰의 definition 열에 있는 해당 개체의 이름은 변경되지 않으므로, 이 문장을 사용하여 변경하지 않을 것을 권고합니다. 대신에, 개체를 삭제한 다음에 새로운 이름으로 다시 만드는 것을 권고합니다.
[따라하기] |
EXEC sp_rename 'Sales by Year', 'SalesByYear'; GO |
n 별칭 데이터 형식의 이름 변경하기
[따라하기] |
CREATE TYPE Customer_SSN FROM varchar(13) NOT NULL; GO EXEC sp_rename 'Customer_SSN', 'SSN', 'USERDATATYPE'; GO |
'연구개발 > SQL2005' 카테고리의 다른 글
[SQL 2005 GUIDE] 테이블 옵션 - large value (0) | 2009.07.06 |
---|---|
[SQL 2005 GUIDE] 행 오버플로 (0) | 2009.07.06 |
[SQL 2005 GUIDE] CHECK 제약 조건 (0) | 2009.07.06 |
[SQL 2005 GUIDE] 제약 조건(1) (0) | 2009.07.06 |
[SQL 2005 GUIDE] 큰 값 데이터 형식 (0) | 2009.07.06 |