290

T-SQL を使用して特定のスキーマにテーブルを移動したいですか? SQL Server 2008 を使用しています。

4

2 に答える 2

495
ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

すべてのテーブルを新しいスキーマに移動したい場合は、文書化されていない (そして、ある時点で非推奨になる可能性は低いですが)sp_MSforeachtableストアド プロシージャを使用できます。

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

参考:ALTER SCHEMA

SQL 2008: db スキーマを dbo に変更する方法

于 2009-07-19T03:24:42.923 に答える
20

簡潔な答え:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

テーブル内のデータがそのまま残っていることを確認できます。これはおそらく非常に重要です:)

MSDN docs による長い回答、

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

それがテーブル (または、型または XML スキーマ コレクション以外のもの) である場合は、Object という単語が既定であるため、省略できます。

于 2015-12-07T08:00:28.580 に答える