我有我的SQL表中的XML列包含這樣的事情:從XML列的刪除節點與在
<date>
<entry action="Log in" insertedTime="2014-01-05T15:05:18.4476032+02:00" />
<entry action="Log in" insertedTime="2014-01-10T16:02:10.8974142+02:00" />
<entry action="Log out" insertedTime="2014-01-11T16:44:54.8380633+02:00" />
</date>
我試圖清理此列(我有辦法超過3項,100S ),我想要做的只是保留最近2天的數據,即刪除比(最多日期)更早的任何內容 - 2天。
我可以獲取最大插入時間並將其放入一個變量,但當然這是表中所有行的最大插入時間,我想在「每行」的基礎上執行此操作。即從每一行中刪除最後2天的日期。每行的最大日期值可能不同。
我使用的是刪除(目前使用臨時表用於測試):
update #xmltemp
set data.modify('delete //entry[@insertedTime < sql:variable("@maxDate")]')
是否有這樣做的方法嗎?
編輯︰我已經得到它與光標現在運行,但有沒有另一種方式做到這一點?
感謝
那豈不是更簡單的使用Java或其他編程語言來檢索,處理記錄,並更新了? – IndoKnight
我已經用光標運行了它,但是更喜歡沒有它。我仍然需要將腳本交給客戶端,他不會樂意運行應用程序(配置數據庫連接等)。 – Richard