我想移动一个表到一个特定的模式使用T-SQL?我使用的是SQL Server 2008。
当前回答
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
如果你想把所有的表都移动到一个新的模式中,你可以使用没有文档的sp_MSforeachtable存储过程(在某些时候会被弃用,但不太可能!):
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
参考:ALTER SCHEMA
SQL 2008:如何将数据库模式更改为dbo
其他回答
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,因为这是默认的。
推荐文章
- 选项(RECOMPILE)总是更快;为什么?
- 设置数据库从单用户模式到多用户
- 我如何转义一个百分比符号在T-SQL?
- SQL Server恢复错误-拒绝访问
- 的类型不能用作索引中的键列
- 如何在SQL Server Management Studio中查看查询历史
- SQL Server索引命名约定
- 可以为公共表表达式创建嵌套WITH子句吗?
- SQL Server的NOW()?
- 在SQL Server中截断(不是四舍五入)小数位
- 如何在SQL Server数据库中更改列数据类型而不丢失数据?
- 保持简单,以及如何在一个查询中执行多个CTE
- 如何使用TSQL截断数据库中的所有表?
- 如何从表中导出所有数据到可插入的sql格式?
- 我如何执行插入和返回插入的身份与Dapper?