在Sql Server中我使用XML類型列來存儲消息。我不想存儲重複的消息。Sql Server XML類型列重複條目檢測
我只會爲每個用戶發送幾條消息。我目前正在查詢這些消息的表格,將XML轉換爲C#代碼中的字符串。然後我將這些字符串與我即將插入的內容進行比較。
不幸的是,Sql Server漂亮地打印XML類型字段中的數據。存儲到數據庫中的內容不一定與您稍後返回的字符串完全相同。它在功能上是等效的,但可能已刪除空格等。
是否有一種有效的方法來比較我正在考慮插入的XML字符串與已經在數據庫中的字符串?另外,如果我檢測到重複,我需要刪除舊信息,然後插入替換。
+1好問題!這是XML中棘手的方面之一 - 我不是一個簡單的解決方案,恐怕...... – 2010-03-09 18:22:09
失去了興趣?找到更好的解決方案? – 2010-03-17 10:11:58
@ p.marino:不,我沒有完全失去興趣。我想接受你的解決方案,但是存儲數據庫中已有內容的散列似乎並不正確。我幾乎寧願放棄使用XML類型字段,然後回到varchar。我會將此添加爲「解決方案」,但我不會接受這一點。 – 2010-03-17 20:21:19