Вопрос

Я хочу переместить таблицу в определенную схему с помощью 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 [;]

Если это таблица (или что-то кроме коллекции типов или XML-схем), вы можете опустить слово «Объект», поскольку оно используется по умолчанию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top