線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:996
推到 Plurk!
推到 Facebook!

在trigger中如何才能擷取update的異動資料?

尚未結案
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-01 23:36:50 IP:202.145.xxx.xxx 未訂閱
只在update時才trigger可行嗎?以下紅色括號中的sql語法應如何下? 如何才能擷取update的異動資料? CREATE trigger [test] on [oo] for update as begin declare @upd_count int if @@rowcount = 0 return [red]{ }[red] end end 堅持從洗馬桶做起 Eric
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-02 22:05:11 IP:218.32.xxx.xxx 未訂閱
update trigger 中, "inserted" 與 "deleted" 是"暫存"的 2 個 Table, 其欄位結構與 [oo] 相同, 分別存放Update 之 "新" 與 "舊" 值, 不知這是否是 您要問的...
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-02 22:22:50 IP:202.145.xxx.xxx 未訂閱
您的意思是否update時 在deleted中存著新值? 在inserted中存著舊值? 那下面這樣若當update時是否只增加舊值? CREATE trigger [test] on [oo] for update as begin declare @ins_count int, if @@rowcount = 0 return select @ins_count=count(*) from inserted if @ins_count>0 begin insert into ooins select * from inserted end end 感謝Mickey兄 的確這樣可行 發表人 - huangeider 於 2004/05/02 23:05:19
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-03 08:09:23 IP:218.163.xxx.xxx 未訂閱
好像反了...inserted 是新值, deleted 才是舊值.
系統時間:2024-06-29 13:52:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!