I은 간단한 테이블 가지고여러 열을 업데이트 할 때 순서를 업데이트하는 열은 무엇입니까?
Col001
Col002
...
ColNNN
...
Col001_DateTimeModified
Col002_DateTimeModified
...
ColNNN_DateTimeModified
ColXXX
들고 값과 ColNNN_DateTimeModified
는 대응하는 날짜 및 시간 값이 수정 된 (삽입 또는 갱신)를 잡고있다.
한 열의 값이 업데이트되면 해당 행의 모든 열 값이 사용됩니다. 새로운 열이 업데이트 된 경우에만 수정 시간 열을 업데이트하고 싶습니다. 그래서, 내가 가진 :
UPDATE MyTable
SET Col001 = S.[Col001]
,Col002 = S.[Col002]
,...
,Col001_DateTimeModified = IIF(Col001 = S.[Col001], Col001_DateTimeModified, GETUTCDATE())
,Col002_DateTimeModified = IIF(Col002 = S.[Col002], Col002_DateTimeModified, GETUTCDATE())
,...
FROM MyTable T
INNER JOIN NewData S
ON T.[id] = S.[id]
나는 확신 할 수 있습니다, 행
Col001_DateTimeModified = IIF(Col001 = S.[Col001], Col001_DateTimeModified, GETUTCDATE())
평가 될 때
Col001
는 여전히 원래의 값을 보관 유지하는 것이 아니라
Col001 = S.[Col001]
행 실행 후 값?
SQL Server가 관점에서 한 번에 열을 업데이트하지 않는 것입니다. 전체 업데이트 문을 하나의 문으로 실행합니다. –