[英]How to move rows from one SQL table to another SQL table with additional columns?
我正在編寫一個SQL存儲過程,該過程需要將行從Table0
移動到Table1
。 Table1
的架構與Table0
的架構Table0
,不同之處在於還有一個名為DataIndex
的附加INT列。 在該過程開始時將計算要插入該列的值。 為了討論起見,它總是100。
我編寫了以下SQL來嘗試執行此操作:
INSERT INTO Table1
SELECT *, 100 AS INT_COLUMN_VALUE
FROM Table0;
當我運行此代碼時,出現以下錯誤:無效的對象名稱'INT_COLUMN_VALUE'。
我該如何進行這項工作? 我的數據庫正在運行MS SQL Server 2008。
我將使用列名來通過執行類似的操作來確保數據落入正確的列中。
INSERT INTO Table1 (Column1,Column2,Column3,.....Int_Column) --<--- Int Column in destination table
SELECT Column1,Column2,Column3,..... CAST(Col4 AS INT) --<--- Computed column Cast as int
FROM Table0;
而且,您無需為INT列賦予別名,只需確保在INSERT INTO語句中提及所有列,並按照INSERT INTO語句中提到的正確順序使用列名選擇SELECT列即可。
INT_COLUMN_VALUE
,然后嘗試運行它(您可能沒有名為INT_COLUMN_VALUE
的列)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.