데이터베이스

[oracle] 등록일 순서로 1씩 증가값

지승준 2013. 12. 23. 19:57

연번.............이름.........파일명...........제출일

--------------------------------------------------------

null..........장동건.......a.hwp.....2009-03-19 17:15:17

null..........김윤아.......a.hwp.....2009-03-15 12:24:00

null..........김태연.......a.hwp.....2009-03-23 22:14:07

null..........티파니.......a.hwp.....2009-03-13 04:34:58

null..........정우성.......a.hwp.....2009-03-18 18:15:15

---------------------------------------------------------


// 해당테이블이 h_temp 라고 가정

// name_kr 과 dt 가 키라는 가정하에....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
update 
    h_temp x 
set 
    seq_no = (  
        select 
            seq_no
        from ( 
            select 
                rownumseq_no, 
                name_kr, 
                gbn, 
                dt
            from ( 
                select * from h_temp order by dt asc )
            ) y
        where 
            y.name_kr = x.name_kr and 
            y.dt = x.dt
    );
cs

commit ;

 

// 결과를 확인하면 순서대로 연번이 입력되어 있을겁니다.

1
select * from h_temp;
cs

 

// 결과는 아래와 같이 나옵니다.

4 장동건 a.hwp 2009-03-19 17:15:17
2 김윤아 a.hwp 2009-03-15 12:24:00
5 김태연 a.hwp 2009-03-23 22:14:07
1 티파니 a.hwp 2009-03-13 04:34:58
3 정우성 a.hwp 2009-03-18 18:15:15