SQL Server에서 XML 형식 열을 사용하여 메시지를 저장하고 있습니다. 중복 메시지를 저장하고 싶지 않습니다.SQL Server XML 형식 열 중복 항목 검색
사용자 당 몇 개의 메시지 만 있습니다. 현재이 메시지에 대한 테이블을 쿼리하고 XML을 C# 코드의 문자열로 변환합니다. 그런 다음 문자열을 내가 삽입하려고하는 것과 비교합니다.
불행히도 SQL Server는 XML 입력 필드에 데이터를 출력합니다. 데이터베이스에 저장하는 내용이 나중에 다시 나오는 것과 정확히 같은 문자열 일 필요는 없습니다.
나는 데이터베이스에 이미 그들과 함께 삽입 고려하고 XML 문자열을 비교하기위한 효율적인 방법이 있나요 등이 기능적으로 동일하지만 공백은 제거 할 수도? 제쳐두고, 중복을 발견하면 이전 메시지를 삭제하고 대체 메시지를 삽입해야합니다.
+1 좋은 질문! 그것은 XML의 까다로운 측면 중 하나입니다. 쉬운 해결책이 아닙니다. 저는 두려워요 ... –
관심을 잃었습니까? 더 나은 해결책을 찾았습니까? –
@ p.marino : 아니요, 전혀 관심을 잃지 않았습니다. 나는 당신의 솔루션을 받아들이고 싶습니다만, 이미 데이터베이스에있는 것의 해쉬를 저장하는 것은 옳지 않은 것처럼 보입니다. XML 형식 필드의 사용을 포기하고 varchar로 돌아갑니다. 나는 이것을 '해결책'으로 추가 하겠지만, 나는 그 중 하나를 받아들이지 않을 것입니다. –