행번호 업데이트 - SqlServer
데이터를 입력하고 삭제하다 보면 순번열이 틀어지는 경우가 발생합니다.
그럴때 조회된 순서대로 번호를 다시 업데이트 하고 싶어서 안달이 납니다.
안달나실때 아래 예제를 돌려 보시면 쉽게 처리 방법을 알수 있습니다~
--임시 테이블을 생성
DECLARE @Temp TABLE
(
Field VARCHAR(10) --구분
,PlanYYMM VARCHAR(6) --계획월
,Seq INT --순서
);
--데이터 입력
INSERT INTO @Temp VALUES('정리','201401', 2);
INSERT INTO @Temp VALUES('정리','201402', 3);
INSERT INTO @Temp VALUES('정리','201403', 4);
INSERT INTO @Temp VALUES('정리','201404', 15);
INSERT INTO @Temp VALUES('정리','201405', 6);
INSERT INTO @Temp VALUES('정리','201406', 4);
--마구잡이로 입력된 Seq가 조회
SELECT
*
FROM @Temp
--월별로 정렬하여 Seq를 1부터 순서대로 업데이트
UPDATE A
SET
A.Seq = A.RowNum
FROM
(
SELECT
Seq
, ROW_NUMBER() OVER (ORDER BY PlanYYMM) AS RowNum
FROM @Temp
) AS A
--정렬된 데이터 조회
SELECT
*
FROM @Temp
'프로그램 경험 > Database' 카테고리의 다른 글
[MySql] 데이터베이스 추가 및 유저 추가 (0) | 2015.04.27 |
---|---|
[SqlServer] 커서(CURSOR) 사용법 (0) | 2015.02.13 |
[SqlServer] 프로시저 결과 테이블 변수에 담기 (0) | 2015.01.06 |
[SqlServer] 월별 누계 금액 구하기 (0) | 2014.11.19 |
[SqlServer] 분기별 실적 쿼리 하기(DATEPART 기능 사용) (0) | 2014.09.19 |