Как переместить таблицу в схему в T-SQL
Я хочу переместить таблицу в конкретную схему с использованием T-SQL? Я использую SQL Server 2008.
2 ответа
Решение
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
Если вы хотите переместить все таблицы в новую схему, вы можете использовать недокументированное (и в какой-то момент быть устаревшим, но маловероятным!) sp_MSforeachtable
хранимая процедура:
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
Ref.: ALTER SCHEMA
Короткий ответ:
ALTER SCHEMA new_schema TRANSFER old_schema.table_name
Я могу подтвердить, что данные в таблице остаются нетронутыми, что, вероятно, очень важно:)
Длинный ответ в соответствии с документами MSDN,
ALTER SCHEMA schema_name
TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]
Если это таблица (или что-то еще, кроме коллекции типов или схем XML), вы можете пропустить слово Object, так как это по умолчанию.