2017年10月8日 星期日

[SQL]資料庫資料搬移 insert select

程式設計時偶爾會有出現暫存表的使用需求。
當然有些設計是考慮到union或暫存表哪個速率快。
因此會有出現需要進行資料搬移的需求。
太久沒用這類需求,難得使用到,因此記錄下來方便以後參考用。

create temp_table (欄位)

建立暫存表的概念跟建立實體表一樣。
之後當然就是資料搬移的問題。
過去有些做法是利用程式的迴圈把資料一筆一筆讀出來之後再依比一比的insert到另一張表。
但這種作法雖然以程式設計人員而言可以掌控的很完整,但缺點就是需要多次存取資料庫的需求。

當然,其實資料庫本身就有其功能。
簡單範例概念如下:
insert table1(col1,col2)
select col1,col2 from table2 where 1=1

這樣就能直接一個請求需求,就達到資料搬移的效果了。

沒有留言:

張貼留言

[資安]社交工程

 社交工程 在資訊安全領域中所提出的"社交工程"議題,其實也可以說"溝通"一詞的另一個說詞。 人在討論交換訊息時的行為,正是所謂的社交工程的過程一模一樣,主要差異在於行為與意圖。 有心人士預計要蒐集他人的各種資訊使用的對話溝通方式,其中我們...