SQL Server 2008で新しい名前で複製された構造のみで複製テーブルを作成するにはどうすればよいですか?
45個のフィールドを持つテーブルがあるので、同じ構造で新しい名前を作成したいと思います。
SQL Management Studioでテーブルを右クリックします。
[スクリプト...]を選択し、[新しいクエリウィンドウ]を選択します。
これにより、新しいクエリウィンドウでテーブルを再作成するスクリプトが生成されます。
スクリプト内のテーブルの名前を、新しいテーブルに名前を付けたい名前に変更します。
スクリプトを実行します。
SELECT *
INTO target
FROM source
WHERE 1 = 2
ここでは、2つの異なる実装を紹介します。
最初:
複製テーブルを作成する必要がある場合は、次のコマンドを実行します。
SELECT top 0 * INTO [dbo].[DuplicateTable]
FROM [dbo].[MainTable]
もちろん、完全に機能するわけではありません。制約はコピーされず、主キーやデフォルト値もコピーされません。このコマンドは、同じ列構造を持つ新しいテーブルを作成し、新しいテーブルにデータを挿入する場合のみです。
2番目(推奨):
ただし、すべての制約とキーを使用してテーブルを複製する場合は、以下の手順に従います。
SELECT * INTO newtable FROM oldtable where 1=2
where 1=2, this statement is use when only Copy complete structure of a
table in sql without Copying data of table
SELECT * INTO newtable FROM oldtable
create table with data you can use this statement
既存のテーブルから新しいテーブルを作成するため
SELECT * INTO New_table FROM Old_Table
あるテーブルから別のテーブルにデータを挿入する場合
Table_Name2に挿入し、Table_Name1からトップ1 *を選択します
このクエリを使用して、既存のデータを使用して新しいテーブルを作成しました。
クエリ:[existingtable]から[newtablename]に*を選択します
こちらがMicrosoftの指示です。 https://docs.Microsoft.com/en-us/sql/relational-databases/tables/duplicate-tables?view=sql-server-2017