Oracle Merge,合併Insert或Update的高階SQL語法

有時候為了避免資料庫中相同的資料重複新增,因此早期的作法是先select count看看有沒有資料,如果有就update,沒有就insert,這樣就可以避免上述的情況。

這樣是一種方式沒有錯,但其實有更佳的方式那就是使用merge語法,本篇介紹的是在Oracle中怎麼做,其他資料庫也有支援喔。

MERGE TableA AS target
USING ( SELECT @sid, @column1, @column2 ) AS source
ON target.[sid] = source.[sid]
WHEN MATCHED THEN
UPDATE SET target.[column1] = source.[column1],target.[column2] = source.[column2]
WHEN NOT MATCHED THEN
INSERT([sid], [column1], [column1]) VALUES(source.[sid], source.[column1], source.[column1]);

至於例子中的@sid ,在C Sharp中當然就是用Parameters.AddWithValue的方式去帶入了喔。

More From Forest Beat

冬の前田森林公園のフリ

在Linux中列出目錄的空間使用大小

列出檔案大小的指令是ls,但是這個指令列出的目錄大小是固定的,又不能自動加總,所以想要知道/home/下各個使用者用了多少檔案空間,那可以參考以下指令
技術
0
minutes
高層ビルのフリー写真素材

Windows 10中的小算盤不見了?

如題小算盤不見了怎麼辦?其實很簡單,搜尋商店,然後輸入關鍵字,安裝一下就可以~~~
技術
0
minutes
桜のフリ

Top 20 Best Programming Languages To Learn in 2024

IT小菜雞必需掌握一種以上的程式語言,因為程式語言是實現軟體解決方案的工具。
技術
0
minutes
サクラのフリ

快速了解MVC、MVP、MVVM、MVI架構的演進

MVC、MVP、MVVM、MVI 都是軟體架構模式,用來組織和管理程式碼,提高程式碼的可讀性、可維護性和可擴展性。
技術
0
minutes
spot_imgspot_img