適用於:SQL Server
您可以使用插入結果查詢,將數據列從一個數據表複製到另一個數據表或數據表內。 例如,在數據表中 titles ,您可以使用插入結果查詢,將一個發行者的所有標題相關信息複製到可供該發行者使用的第二個數據表。 插入結果查詢類似於建立數據表查詢,但會將數據列複製到現有的數據表。
小提示
您也可以使用剪下和貼上,將數據列從一個數據表複製到另一個數據表。 為每個數據表建立查詢並執行查詢。 將您想要的數據列從一個結果方格複製到另一個結果方格。
當您建立插入結果查詢時,您可以指定:
要將資料列複製到的資料庫資料表(目的資料表)。
從中複製行的數據表(來源數據表)。 源數據表或數據表會成為子查詢的一部分。 如果您要在數據表內複製,源數據表與目的地數據表相同。
源數據表中您想要複製其內容的數據行。
目標欄位是將數據複製到目的地數據表中的欄位。
用來定義您要複製之資料列的搜尋條件。
排序順序,如果您想要以特定順序複製數據列。
如果您想要只複製摘要資訊,請依選項分組。
例如,下列查詢會將標題資訊從 titles 數據表複製到名為 archivetitles的封存數據表。 查詢會複製所有屬於特定發行者的標題的四個欄位的內容:
INSERT INTO archivetitles (title_id, title, type, pub_id)
SELECT title_id,
title,
type,
pub_id
FROM titles
WHERE (pub_id = '0766');
備註
若要將值插入新數據列,請使用插入值查詢。
您可以複製所選取資料行的內容,或資料列中所有資料行的內容。 不論是哪一種情況,您複製的數據都必須與您要複製到的行中的欄位相容。 例如,如果您複製諸如 price 的數據列內容,您要複製到的數據列必須可接受帶小數的數值資料。 如果您要複製整個數據列,目的地數據表必須具有與源數據表位於相同實體位置的相容數據行。
當您建立插入結果查詢時,[準則] 窗格會變更以反映可用於複製數據的選項。 新增一個附加欄位,可讓您指定要複製資料的目標欄位。
謹慎
您無法復原執行插入結果查詢的動作。 為了防範措施,請先備份您的數據,再執行查詢。
建立插入結果查詢
建立新的查詢,並新增您要從中複製數據列的數據表(源數據表)。 如果您要複製資料表中的數據列,您可以將源資料表新增為目的地資料表。
從 [ 查詢設計工具] 功能表中,指向 [變更類型],然後選取 [ 插入結果]。
在 [選擇插入結果的目標數據表] 對話框中,選取要複製數據列的數據表(目的地數據表)。
備註
查詢和檢視表設計工具無法事先判斷您可以更新的數據表和檢視。 因此,[從查詢選擇插入數據表] 對話方塊中的 [資料表名稱] 列表會顯示您要查詢之數據連線中的所有可用數據表和檢視,即使是您可能無法複製數據列的數據表和檢視表。
在代表數據表或數據表值物件的矩形中,選擇您想要複製其內容的數據行名稱。 若要複製整個資料列,請選擇 [* (所有資料行)。
[查詢和檢視設計工具] 會將您選擇的欄位新增至 [準則] 窗格的 [欄位] 欄位。
在 [準則] 窗格的 [ 附加 ] 資料行中,針對您要複製的每個數據行,選取目的地數據表中的目標數據行。 如果您要複製整個資料列 ,請選擇 tablename.* 。 目的地數據表中的數據行必須與源數據表中的數據行具有相同(或相容)數據類型。
如果您想要依特定順序複製資料列,請指定排序順序。 如需詳細資訊,請參閱排序和群組查詢結果(Visual Database Tools)。
在 [ 篩選 ] 數據行中輸入搜尋條件,以指定要複製的數據列。 如需詳細資訊,請參閱指定搜尋準則(Visual Database Tools)。
如果您未指定搜尋條件,源數據表中的所有數據列都會複製到目的地數據表。
備註
當您將數據行加入至 [準則] 窗格時,查詢和檢視表設計工具也會將它加入要複製的數據行清單中。 如果您想要使用資料行進行搜尋,但不要複製它,請清除代表數據表或數據表值物件之矩形中數據行名稱旁的複選框。
如果您想要複製摘要資訊,請指定 [群組依據] 選項。 如需詳細資訊,請參閱摘要查詢結果(Visual Database Tools)。
當您執行插入結果查詢時,[ 結果] 窗格 (Visual Database Tools) 中不會報告任何結果。 相反地,會出現一則訊息,指出已複製的數據列數目。