我想使用T-SQL将表移动到特定的Schema中?我正在使用SQL Server 2008。
答案 0 :(得分:434)
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
如果要将所有表移动到新架构中,可以使用未记录的(并在某些时候弃用,但不太可能!)sp_MSforeachtable
存储过程:
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
参考:ALTER SCHEMA
答案 1 :(得分:17)
简短回答:
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这个词,因为这是默认值。