0

Identity残りのすべての列名に言及せずに 、列を除くすべての列値を1つのテーブルから別のテーブルにコピーする方法はありますか?

63列のテーブルがあります。-で一時テーブルを作成しました

SELECT * INTO #TmpWide FROM WideTable WHERE 1 = 0  

次に、WideTableから#TmpWideにデータをコピーします。Identityコピーされたデータに1から#TmpWideまでの独自のシーケンシャルIDを持たせたいので、Id列を除くWideTableのすべての列が必要です。(63-1)列名を言及せずに可能ですか?

4

2 に答える 2

1

テーブルの作成後に列を削除してみてください。

SELECT * INTO #TmpWide FROM WideTable WHERE 1=0
ALTER TABLE #TmpWide DROP COLUMN [Id]

これは少し醜いまたはハックのように感じますが、それはトリックを行う必要があります。

于 2013-02-25T04:48:27.337 に答える
1

それを行う方法はありませんが、このような状況で * を使用することも悪い考えです。WideTable が変更されると、そこから SELECT * するストアド プロシージャを変更する必要があります。私はこのような数百のストアド プロシージャを作成しましたが、悪夢を作成しただけで、今日も対処しています。幸運を。

于 2013-02-25T04:53:43.983 に答える