【Data Platform】/SQL Server
[2k] 컬럼명 및 오브젝트명 변경
디비랑
2008. 9. 7. 12:07
- /**********************************************************************************************
-- Title : [2k] 컬럼명 및 오브젝트명 변경
-- Reference : dBRang.com
-- Key word : sp_columns, sp_rename
**********************************************************************************************/
-- 컬럼 타입 변경
USE Northwind
GO
SELECT *
INTO OrdersTest
FROM Orders
GO
EXEC sp_columns OrdersTest --sp_columns0 'orderstest'
GO
ALTER TABLE OrdersTest
ALTER COLUMN CustomerID char(10)
GO
-- 컬럼명 변경
EXEC sp_rename 'orderstest.shipvia', 'ship_via', 'COLUMN'
GO
-- 테이블명 변경
EXEC sp_rename 'customers', 'custs'
GO
-- 프로시저명 변경
CREATE PROC up_orderstest
AS
SELECT *
FROM orderstest
GO
EXEC up_orderstest
GO
EXEC sp_rename 'dbo.up_orderstest', 'up_orders', 'OBJECT'
GO
EXEC up_orders
GO
/*
** 이하 BOL 셈플
*/
-- 테이블 이름 변경하기
EXEC sp_rename 'territories', 'territs'
GO
-- 테이블의 인덱스 이름 변경하기
EXEC sp_rename 'sudtomers.postalcode', 'ix_zipcode', 'INDEX'
-- 테이블의 컬럼명 변경하기
EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN'
-- 제약조건 이름 변경하기
EXEC sp_rename 'Customers_Old.PK_Customers', 'PK_Customers_Old'
GO
-- 저장 프로시저, 뷰, 트리거 이름 변경하기
-- 이 경우는 syscomments에서 변경이 안되기에 drop-create를 권장
EXEC sp_rename 'Sales by Year', 'SalesByYear'
GO
-- 사용자 정의 데이터 형식의 이름 변경하기
EXEC sp_addtype 'UT_CustID', 'nchar(5)', 'NOT NULL'
GO
EXEC sp_rename 'UT_CustID', 'UT_CustomerID', 'USERDATATYPE'
GO