2013-12-18 13 views
6

I次の表の変数宣言を有する:同じ構造の2つのテーブル変数を宣言するにはどうすればよいですか?

DECLARE @MyTable TABLE 
(
    --ten columns declared here 
) 

を、私は私が最初のものへの選択、挿入、次いで二番目に結果をコピーするように(同じ構造の別のテーブル変数を宣言します最初の変数から1つずつエントリを削除し、結果として2番目の変数を返します)。

私はこれを試してみました:

DECLARE @MyTable, @MyTableCopy TABLE 
(
    --ten columns declared here 
) 

が、SQL Server Expressは幸せではないと

メッセージ102、レベル15、近い状態1、行1不正な構文が '' と言います。

どのように同じ構造の2つのテーブル変数を宣言しますか?

+0

UDTを使用する場合、定義を繰り返さずに行うことはできますが、それはデータベースを永久に変更することです。アドホックテーブルの場合、定義を繰り返す必要があります。 –

答えて

2

あなたはそうすることはできませんが、あなたはそうするために一時テーブルを使用することができます。新しく作成された#tempまたはparmanentテーブルは同じテーブル構造を持ちます。

Declare @t table(startdate date,enddate date,duration int) 
select * into #t1 from @t 

select * from @t1 
drop table #t1 
関連する問題