使用時間戳 merge 進行兩個表之間的同步

2021-06-16 21:59:36 字數 1519 閱讀 5991

print  '當前表:iwt_page'

declare @max_id int --獲得最大的

select @max_id=isnull(max(time_stamp),0) from [event_topic]

print @max_id

;with cet_tbas(

select [topicid]

,[topictitle]

,[topiccrt]

,[releasemedia]

,[eventtype]

,[area]

,[eventschedule]

,[broadcastingtype]

,[cityname]

,[productname]

,time_stamp

--

from [c1].[iwomtrackdata].[dbo].[iwt_topictracking]

where 1=1

and brandid=20002

and topicstate=1

and time_stamp>@max_id

)merge into [haier_charts].[dbo].[event_topic] as t

using cet_tb as s

on t.topicid=s.topicid

when matched

then update

set t.[topicid] = s.[topicid]

,t.[topicname] = s.[topictitle]

,t.[topicdate] = s.[topiccrt]

,t.[medianame] = s.[releasemedia]

,t.[eventtype] = s.[eventtype]

,t.[areaname] = s.[area]

,t.[eventschedule] =s.[eventschedule]

,t.[broadcastingtype] =s. [broadcastingtype]

,t.[cityname] = s.[cityname]

,t.[productname] = s.[productname]

,t.time_stamp = s.time_stamp

when not matched

then insert values(s.[topicid],s.[topictitle],s.[topiccrt],s.[releasemedia],s.[eventtype],s.[area],s.[eventschedule],s. [broadcastingtype],s.[cityname],s.[productname],s.time_stamp);

(備註:時間戳型別可以與bigint型別之間進行轉換!)

刪除 操作建議通過標示位,代替然後再統一進行物理刪除

可以用乙個表配置,每乙個表物理刪除的時間

表結構:

表名、時間、狀態

Ajax要使用時間戳提交

當你的ajax需要的資料是及時更新的,也就是說在沒有重新整理頁面的情況下,得到其他操作的新資料,你的ajax提交url中加入乙個時間戳,這樣,就可以避免頁面使用快取了,原理是 時間戳本事就是乙個隨時更新的變數,時間戳只是乙個叫法,你可以這麼理解 你的url中加了乙個隨時更新的變數,那麼,提交時是不會...

使用時間戳命名檔案遇到的坑

最近寫了乙個檔案上傳的介面,從流中讀出檔案,將其儲存成指定的檔案型別,檔名以當前系統的時間戳命名。寫完自測,沒有問題,就提交 了。但是今天測試的同事反饋,有個業務需要上傳多張,當很小時,會出現問題 無法開啟,或多個請求返回的 名稱相同 經過反覆除錯分析,找到原因。上傳多次時,呼叫方使用多執行緒來處理...

使用時間戳解決ie快取的問題

在開發測試中,如果選擇ie,當編輯某條資料時,再回過頭來進行編輯,會發現,裡面的資料和沒有編輯以前是一樣的,這和種情況下,解決ie快取成了問題。我的方法是,在請求鏈結後面加上乙個時間戳,就只可以避免這種問題的出現。複製 vnernasgqi如下 var gettimestamp new date g...