문제

XML 데이터를 데이터베이스에 저장 한 여러 응용 프로그램에서 작업했습니다. 지금까지 모든 XML 컨텐츠를 새 XML 컨텐츠로 덮어 쓰십시오.

XML의 변경 사항을 데이터베이스로 저장하지만 현재 DB에있는 것을 덮어 쓰지 않습니다.

변경을위한 새 행을 만들고 오래된 행을 그대로 유지하지 못하면 다른 옵션을 사용할 수있는 다른 옵션은 무엇입니까?

차이점을 실제 텍스트 차이로 저장하는 것에 대해 생각했는데, 이는 항상 XML에서 작동하지는 않습니다.

나는 이것을 원한다고 생각하는 견해입니까?

도움이 되었습니까?

해결책

데이터 테이블 옆에 감사 테이블을 추가하는 것을 고려할 수 있습니다.

DateTime 열과 함께 기록을 추적하는 데 관심이있는 열만이 있으며 (변경 날짜를 기록하기 위해) 일반적으로 일부 사용자 정보를 원합니다 (즉, 연결에서 로그인 한 사용자를 가져 오거나 사용자에게 제공합니다. 삽입/업데이트의 이름).

그런 다음 데이터 테이블에 업데이트 트리거를 작성하고 삭제 된 의사 테이블에서 감사 테이블에 새 행을 삽입하십시오. 업데이트가 실제로 삭제되고 인서트이므로 업데이트를 수행하는 경우 업데이트 전에 데이터가 포함됩니다.

SQL CLR을 사용하여 고유 한 감사 테이블을 구현하고 감사하려는 각 데이터 테이블에 대한 트리거를 추상화 할 것을 제안하는이보다 일반적인 목적 솔루션도 있습니다. http://www.sqljunkies.ddj.com/article/4cd01686-5178-490c-a90a-5aeef5e35915.scuk

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top