我如何移动一个表到一个模式在T-SQL

我想移动一个表到一个特定的模式使用T-SQL?我使用的是SQL Server 2008。

190586 次浏览
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;

如果你想将所有表移动到一个新的模式中,你可以使用没有文档的(在某些时候会被弃用,但不太可能!)sp_MSforeachtable存储过程:

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

裁判:ALTER SCHEMA

SQL 2008:如何更改数据库模式为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,因为这是默认的。