Luk*_*asz 262 t-sql sql-server schema sql-server-2008 sql-server-2016
我想使用T-SQL将表移动到特定的Schema中?我正在使用SQL Server 2008.
Mit*_*eat 450
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
Run Code Online (Sandbox Code Playgroud)
如果要将所有表移动到新模式中,可以使用未记录的(并且在某些时候不推荐使用,但不太可能!)sp_MSforeachtable存储过程:
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
Run Code Online (Sandbox Code Playgroud)
参考: ALTER SCHEMA
Rev*_*eer 19
简短回答:
ALTER SCHEMA new_schema TRANSFER old_schema.table_name
Run Code Online (Sandbox Code Playgroud)
我可以确认表中的数据保持不变,这可能非常重要:)
根据MSDN文档的长答案,
ALTER SCHEMA schema_name
TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]
Run Code Online (Sandbox Code Playgroud)
如果它是一个表(或除了Type或XML Schema集合之外的任何东西),您可以省略Object这个词,因为这是默认值.