あなたの書いたものは何の意味もありません。最初の「ステートメント」は次のとおりです。
INSERT INTO tblpremier
SELECT * INTO #TempTable
FROM dbo.IntermediateTable
#temptable または tblpremier に挿入しますか? これらすべての操作を実行してから挿入したかったと思いますtblpremier
-その場合、それを別々のステートメントに分割します。私はあなたがやりたかったと思います:
SELECT * INTO #TempTable
FROM dbo.IntermediateTable
ALTER TABLE #TempTable
DROP COLUMN id
INSERT INTO tblpremier
SELECT * FROM #TempTable
しかし、ID 列を引いたもの#Temptable
と同じである必要があるのではなく、最初から必要な正しい列を選択するだけではなく、IntermediateTable
IntermediateTable
*
編集:
これが私が意味したことです。指定されたすべての列名を取得し、ID 列を含めないように挿入ステートメントを記述します。テーブルのコピーですべての新しい ID 番号を取得します。
INSERT INTO tblpremier (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM IntermediateTable
ただし、テーブルのコピーで同じ ID 番号を維持したい場合、およびintermediate
テーブルとの両方で列が同じ順序になっているtblpremier
場合は、次のように記述できます。
SET IDENTITY_INSERT tblpremier ON
INSERT INTO tblpremier
SELECT *
FROM IntermediateTable
SET IDENTITY_INSERT tblpremier OFF
tblpremier
ただし、最初に が空でない場合、重複する ID を挿入しようとすることに注意する必要があります。