我想使用T-SQL将一张表移动到特定的模式(Schema),我正在使用SQL Server 2008。
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
如果您想将所有表移动到一个新的模式中,可以使用未记录(并且在某个时候可能会被弃用,但不太可能!)的sp_MSforeachtable
存储过程:
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
参考: ALTER SCHEMA
简短回答:
ALTER SCHEMA new_schema TRANSFER old_schema.table_name
我可以确认表格中的数据仍然完整无损,这可能非常重要 :)
根据MSDN文档的长篇回答,
ALTER SCHEMA schema_name
TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]
如果它是一个表格(或除类型或XML模式集合以外的任何内容),您可以省略“对象”一词,因为那是默认值。