Jak przenieść tabelę do schematu w T-SQL

Chcę przenieść tabelę do określonego schematu za pomocą T-SQL? Używam SQL Server 2008.

Author: Mitch Wheat, 2009-07-19

2 answers

ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

Jeśli chcesz przenieść Wszystkie tabele do nowego schematu, możesz użyć nieudokumentowanych (i być przestarzałe w pewnym momencie, ale mało prawdopodobne!) sp_MSforeachtable procedura składowana:

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

Ref.: ALTER SCHEMA

SQL 2008: jak zmienić schemat db na dbo

 405
Author: Mitch Wheat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:51

Krótka odpowiedź:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

Mogę potwierdzić, że dane w tabeli pozostają nienaruszone, co jest chyba dość ważne:)

Długa odpowiedź zgodnie z MSDN docs ,

ALTER SCHEMA schema_name 
   TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]

Jeśli jest to tabela (lub cokolwiek poza kolekcją typu lub schematu XML), możesz pominąć obiekt word, ponieważ jest to domyślne.

 12
Author: DaveBoltman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-07 08:00:28