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

我想使用T-SQL将表移入特定的模式? 我正在使用SQL Server 2008。

ALTER SCHEMA TargetSchema TRANSFER SourceSchema.TableName; 

如果要将所有表移动到新的模式中,可以使用未logging的(并且在某些时候不推荐使用,但不太可能!) sp_MSforeachtable存储过程:

 exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?" 

参考: ALTER SCHEMA

SQL 2008:如何将db模式更改为dbo

简短的回答:

 ALTER SCHEMA new_schema TRANSFER old_schema.table_name 

我可以确认表中的数据保持不变,这可能相当重要:)

按照MSDN文档的长答案,

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

如果它是一个表(或除了Type或XML Schema集合之外的任何东西),那么可以省略Object这个词,因为这是默认的。