web-dev-qa-db-ja.com

SQL Server 2008で新しい名前で複製テーブルを作成する方法

SQL Server 2008で新しい名前で複製された構造のみで複製テーブルを作成するにはどうすればよいですか?

45個のフィールドを持つテーブルがあるので、同じ構造で新しい名前を作成したいと思います。

27
Eyla

SQL Management Studioでテーブルを右クリックします。

[スクリプト...]を選択し、[新しいクエリウィンドウ]を選択します。

これにより、新しいクエリウィンドウでテーブルを再作成するスクリプトが生成されます。

スクリプト内のテーブルの名前を、新しいテーブルに名前を付けたい名前に変更します。

スクリプトを実行します。

47
Avalanchis
SELECT * 
INTO target
FROM  source
WHERE 1 = 2
36
Conrad Frix

ここでは、2つの異なる実装を紹介します。

最初:

複製テーブルを作成する必要がある場合は、次のコマンドを実行します。

SELECT top 0 * INTO [dbo].[DuplicateTable]
FROM [dbo].[MainTable]

もちろん、完全に機能するわけではありません。制約はコピーされず、主キーやデフォルト値もコピーされません。このコマンドは、同じ列構造を持つ新しいテーブルを作成し、新しいテーブルにデータを挿入する場合のみです。

2番目(推奨):

ただし、すべての制約とキーを使用してテーブルを複製する場合は、以下の手順に従います。

  1. SQL Management Studioでデータベースを開きます。
  2. 複製するテーブルを右クリックします。
  3. -> Create to-> New Query Editor WindowとしてScript Tableを選択します。これにより、新しいクエリウィンドウでテーブルを再作成するスクリプトが生成されます。
  4. スクリプト内のテーブル名と相対キーと制約を変更します。
  5. スクリプトを実行します。
6
Rousonur Jaman
  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 
2
Akhil Singh

既存のテーブルから新しいテーブルを作成するため

SELECT * INTO New_table FROM Old_Table

あるテーブルから別のテーブルにデータを挿入する場合

Table_Name2に挿入し、Table_Name1からトップ1 *を選択します

1
user8068654

このクエリを使用して、既存のデータを使用して新しいテーブルを作成しました。

クエリ:[existingtable]から[newtablename]に*を選択します

こちらがMicrosoftの指示です。 https://docs.Microsoft.com/en-us/sql/relational-databases/tables/duplicate-tables?view=sql-server-2017

0
murali krishna