台灣最大程式設計社群網站
線上人數
715
 
會員總數:245969
討論主題:189549
歡迎您免費加入會員
討論區列表 >> MS SQL >> 同時Insert多筆資料時,Trigger的處理
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
同時Insert多筆資料時,Trigger的處理
價值 : 80 QP  點閱數:2149 回應數:2
樓主

外星人
初學者
90 13
329 36
發送站內信

環境是MS-SQL Express 2012
原本是1筆1筆新增,Trigger也沒有問題,但因為同一時間會大量新增至結構相同的不同資料庫,
所以改為 Insert into DataBaseName.dbo.TableName (欄位....) Value (值...),(值....),(值...) 的方式
但只有第一筆被觸發,請問要如何處理?

搜尋相關Tags的文章: [ Trigger ] , [ Insert ] , [ 多筆 ] ,
本篇文章發表於2016-02-04 23:08
1樓
最有價值解答

pilipala
檢舉此回應

使用 Trigger 會有兩個特殊資料表 inserted 和 deleted,請參考這兩篇文章

https://msdn.microsoft.com/zh-tw/library/ms191300.aspx
https://dotblogs.com.tw/jameswu/archive/2009/07/23/9643.aspx
本篇文章回覆於2016-02-05 08:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

史努比
檢舉此回應
trigger 是把受影響資料列, 全部放進inserted 和 Deleted資料表

Trigger中的程式, 任何時間都必須把寫入的資料當成多筆, 不能當成單筆

至於要怎麼做修改, 要看你原來的trigger code來決定

大致上是把 Update 改成, Update From Join, Delete 改成 Delete From Join, Insert INTO Values改成 Insert Into Select From
本篇文章回覆於2016-03-04 10:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.