看板 Database 關於我們 聯絡資訊
試看看分開寫 INSERT INTO testb (SELECT * FROM testa a WHERE NOT EXISTS (SELECT * FROM testb b WHERE a.KEY = b.KEY)) update testb b set ... where exists (SELECT * FROM testa a WHERE a.KEY = b.KEY)) 我也傾向使用slalala的方法 利用程式的exception handle機制去catch錯誤 我的做法是把insert寫成一個function call insert時發生pk重復則刪除該筆, 然後再call一次insert 這樣好處是只要寫一次insert statment, 不用另外寫update ※ 引述《kazumi6533 (patrick)》之銘言: : 請問一下 : 如果我有一筆資料要insert,但是不知道是不是會有重覆 : 如果重覆的話就用update,那我應該怎麼做 : 是不是只能先select一個recordset,然後檢查recordset裡面是不是有該筆 : 然後再決定要不要insert或update? : 如果是這樣我應該怎麼做比較好,因為我資料很多,大概一百萬筆左右 : 如果每一筆都這樣檢查是不是會變得很慢...orz.. : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.243.151.204 ※ 編輯: gargamel 來自: 210.243.151.204 (11/15 16:17)