2009-07-19 4 views
225

T-SQL을 사용하여 특정 스키마로 테이블을 이동 하시겠습니까? 새 스키마로 모든 테이블을 이동하려면 난 당신이 문서화되지 않은 사용할 수 있습니다, SQL 서버 2008T-SQL에서 테이블을 스키마로 이동하는 방법

+1

여러 테이블을 새 스키마로 이동해야하는 경우 [여러 테이블 이름 바꾸기] (http://stackoverflow.com/questions/10942901/renaming-multiple-tables) – Tony

답변

377
ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName; 

을 사용하고 sp_MSforeachtable 저장 프로 시저를 (그리고 어떤 점에서 사용되지 수 있지만, 가능성!)

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?" 

참고 : ALTER SCHEMA

SQL 2008: How do I change db schema to dbo

12

짧은 swer :

ALTER SCHEMA new_schema TRANSFER old_schema.table_name 

나는 테이블의 데이터가 (아마 테이블이 있다면

MSDN docs에 따라

긴 대답

ALTER SCHEMA schema_name 
    TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;] 

: 매우 중요하다, 그대로 남아 있음을 확인할 수 있습니다 또는 Type 또는 XML 스키마 컬렉션 외의 다른 것), 기본값이기 때문에 Object라는 단어를 생략 할 수 있습니다.

+0

내 정답은 왜 하향 투표입니까? 내 대답을 확인해주십시오. 답은 같고 이미 257 개의 상향 음향이 있습니다 (내 포함). – DaveBoltman

+0

그냥 내 혈압을 저장 한 그대로 데이터가 그대로 남아 있는지 확인하는 upvote가 있습니다 ... :) –

+3

@DaveBoltnman : 답변을 수락 한 지 6 년 후에 "동일합니다" . –