2011-05-01 3 views
0

편집 한 값을 SQL Server에 저장하여 그 후에 값으로 반환하는 방법을 알고 싶습니다.sql 편집 로그 저장

예를 들어

:

는 ID를 작업 할 때 상태가 1의 나는 그것이 상태, 작동이 상태가 "닫기"의 년 이후의 사용자가 상태가 테이블에 사용자의 ID로 저장되어있다 그것이 닫혀있을 때 나는 2로 id를 업데이트한다. date에서 date까지의이 사용자가 작동하고있는 것을 어떻게 볼 수 있는가?

답장을 보내 주셔서 감사합니다.

내 질문이 있습니다.

문제 여기에 사용자 상태 인 예가 하나 있지만 여기에는 ID가 변경되는 많은 테이블이 있습니다. 예를 들어 도시의 ID 또는 제품 ID 등이 있습니다.

예를 들어 사용자의 동일한 테이블에 저장하면 사용자 ID를 잃어 버리게됩니다. 사용자를 업데이트 할 때마다 새 ID가 필요하거나 사용자 상태 테이블을 수행합니다. 사용자 상태 기록과 같은 20 개 이상의 테이블을 수행합니다. 또한 이드뿐만 아니라 텍스트를 저장하고 싶습니다. 예를 들어, 사용자는 새 주소를 얻었습니다.이 날짜부터 지금까지의 날짜와 현재 주소는 이전 주소이고 다른 날은 안녕하십니까. 다른 곳에서 살고 있습니다.

제안 사항 :).

답변

0

귀하의 질문은 명확하지 않지만 "사용자 테이블에 상태 열이 있으며 특정 사용자의 상태 값을 변경할 때 상태 변경 내역을 확인해야합니다. 이전 값을 잃어 버린다 ".

그럴만 한 간단한 해결책은 사용자 상태가 변경 될 때마다 UserStatus 등의 두 번째 테이블을 추가하고 새 행을 INSERT하는 것입니다. 그런 다음 각 사용자의 상태 변경 내역을 쉽게 볼 수 있으며 해당 사용자의 '최신'행을 쿼리하여 모든 사용자의 현재 상태를 확인할 수도 있습니다.

원칙적으로 UserStatus 테이블을 추가하면 User 테이블의 Status 열이 필요하지 않으므로 제거 할 수 있습니다. 그럴 수 없다면 (예 : 테이블을 사용하여 애플리케이션을 제어하지 않는 경우) 상태를 업데이트 할 때 UserStatus 테이블을 자동으로 채우는 트리거를 User 테이블에 추가 할 수 있습니다.

+0

내 질문이 있습니다. 하지만 여기서 문제는 사용자 상태 인 예제를 하나만 제공한다는 것입니다.하지만 이드를 변경하는 테이블이 너무 많습니다. 예를 들어 도시 ID, 제품 ID 등이 있습니다. 예를 들어 사용자의 동일한 테이블에 저장하면 사용자 ID가 손실됩니다. 사용자를 업데이트 할 때마다 새 ID가 필요하거나 사용자를 수행하기 때문에 상태 테이블 나는 사용자 상태와 같은 20 개 이상의 테이블을 수행 할 것이다. 또한 이드뿐만 아니라 텍스트를 저장하고 싶습니다. 예를 들어, 사용자는 새 주소를 얻었습니다.이 날짜부터 지금까지의 날짜와 현재 주소는 이전 주소이고 다른 날은 안녕하십니까. 다른 곳에서 살고 있습니다. – user733256

0

나의 제안은 두 개의 열

하나는 데이터의 기록을 유지 관리 할 수 ​​있도록/일시 폐쇄/날짜를하고있다

하는 것입니다.