- 상황 정리
- 임시 테이블[TempTable]에 컬럼
- 변경할 대상 데이터 ID
- 변경 데이터
- 임시 테이블[TempTable]에 컬럼
- 방법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]
'DB' 카테고리의 다른 글
[개념_퀴즈] 1-2 데이터 모델과 SQL (0) | 2021.03.08 |
---|---|
[개념_퀴즈] 1-1 데이터 모델링의 이해 (0) | 2021.03.03 |
[개념정리] NoSql vs Sql (0) | 2020.09.03 |
[개념정리] ISNULL vs NULLIF (0) | 2020.02.06 |
[코드처리] ROW_NUMBER( ) OVER(ORDER BY) (0) | 2020.01.07 |