如何将表移动到T-SQL中的模式中

如何将表移动到T-SQL中的模式中

问题描述:

我想使用T-SQL将表移动到特定的模式中?我使用SQL Server 2008的如何将表移动到T-SQL中的模式中

+1

如果您需要将多个表移动到新架构,请参阅[重命名多个表](http://*.com/questions/10942901/renaming-multiple-tables) – Tony 2013-04-22 15:56:28

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

短的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 Schema集合之外的任何东西),您可以省略Object这个词,因为这是默认设置。

+0

为什么downvote为我的正确答案?请检查我的答案,这是相同的,并且已经有257个upvotes(包括我的)。 – DaveBoltman 2016-01-20 11:55:40