- 상황 정리
- 방법1
- Cursor로 임시테이블 [TempTable] row by row update 처리
DECLARE @ID BIGINT
DECLARE @Cd SMALLINT
DECLARE CUR CURSOR FOR
SELECT ID, Cd FROM @TempTable;
OPEN CUR
FETCH NEXT FROM CUR INTO @ID, @Cd
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE [dbo].[Table]
SEt Cd=@Cd
WHERE ID = @ID
FETCH NEXT FROM CUR INTO @ID, @Cd
END
DEALLOCATE CUR
- 방법1이 실행결과에 비해 장황한 코드기술..이라 쉬운 방법2
- Update 할 테이블과 임시테이블을 Join 해 Update 실행
UPDATE [dbo].[Table]
SEt Cd = [B].[Cd]
FROM [dbo].[Table]
INNER JOIN @TempTable AS [B]
ON [dbo].[Table].[ID] = [B].[ID]