如何将表移动到T-SQL中的模式中
答
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
如果要移动所有表到一个新的架构,您可以使用无证sp_MSforeachtable
存储过程(以及在某些时候被弃用,但不太可能!):
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
参考:ALTER SCHEMA
答
短的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
如果您需要将多个表移动到新架构,请参阅[重命名多个表](http://stackoverflow.com/questions/10942901/renaming-multiple-tables) – Tony 2013-04-22 15:56:28