我想移动一个表到一个特定的模式使用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 new_schema TRANSFER old_schema.table_name
我可以确认表中的数据保持完整,这可能是相当重要的:)
根据MSDN文档,答案很长,
ALTER SCHEMA schema_name
TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]
如果它是一个表(或者Type或XML Schema集合之外的任何东西),您可以省略单词Object,因为这是默认的。
推荐文章
- 错误,字符串或二进制数据将被截断时试图插入
- ON [PRIMARY]是什么意思?
- 插入语句与外键约束冲突- SQL Server
- Android中使用的SQLite版本?
- 我如何列出一个表中的所有列?
- 如何从TSQL datetime字段获得YYYY-MM-DD格式的日期?
- 内连接vs左连接性能在SQL Server
- 为什么要在数据库中创建视图?
- SQL区分大小写字符串比较
- 如何在c#程序中执行存储过程
- 我如何移动一个表到一个模式在T-SQL
- 如何在SQL Server Management Studio中将列值设置为NULL ?
- 终止数据库的所有连接(大于RESTRICTED_USER ROLLBACK)的脚本
- SQL Server中的for循环语法
- 如何在SQL SERVER数据库中获取所有表的行数